Server Optimization Request, please help.

Please help me optimize this server. I am pretty sure a lot could be done to improve its performance. Any help will be most appreciated )

Server Specs:
Quad Opteron 842+
4096MB RAM
2 x 73GB U320 SCSI Raid
FreeBSD 6.2
apache/IIS version: apache 2.2.4
PHP version: PHP Version 5.2.2
MySQL version: mysql 5.0.27

my.cnf:
skip-locking
key_buffer = 768M
max_allowed_packet = 10M
table_cache =1536
sort_buffer_size = 16M
read_buffer_size = 16M
read_rnd_buffer_size = 16M
myisam_sort_buffer_size = 512M
thread_cache_size = 64
query_cache_size = 256M

Try number of CPU’s*2 for thread_concurrency

thread_concurrency = 8
max_connections = 1000
query_cache_limit=4M
query_cache_type=1

MySQL stats:

---------------------------------±-----------------------------------------------------------+| Variable_name | Value |±--------------------------------±-----------------------------------------------------------+| auto_increment_increment | 1 || auto_increment_offset | 1 || automatic_sp_privileges | ON || back_log | 50 || basedir | /usr/local/ || bdb_cache_size | 8388600 || bdb_home | /var/db/mysql/ || bdb_log_buffer_size | 786432 || bdb_logdir | || bdb_max_lock | 10000 || bdb_shared_data | OFF || bdb_tmpdir | /var/tmp/ || binlog_cache_size | 32768 || bulk_insert_buffer_size | 8388608 || character_set_client | latin1 || character_set_connection | latin1 || character_set_database | latin1 || character_set_filesystem | binary || character_set_results | latin1 || character_set_server | latin1 || character_set_system | utf8 || character_sets_dir | /usr/local/share/mysql/charsets/ || collation_connection | latin1_swedish_ci || collation_database | latin1_swedish_ci || collation_server | latin1_swedish_ci || completion_type | 0 || concurrent_insert | 1 || connect_timeout | 5 || datadir | /var/db/mysql/ || date_format | %Y-%m-%d || datetime_format | %Y-%m-%d %H:%i:%s || default_week_format | 0 || delay_key_write | ON || delayed_insert_limit | 100 || delayed_insert_timeout | 300 || delayed_queue_size | 1000 || div_precision_increment | 4 || engine_condition_pushdown | OFF || expire_logs_days | 0 || flush | OFF || flush_time | 0 || ft_boolean_syntax | + -><()~*:“”&| || ft_max_word_len | 84 || ft_min_word_len | 4 || ft_query_expansion_limit | 20 || ft_stopword_file | (built-in) || group_concat_max_len | 1024 || have_archive | NO || have_bdb | YES || have_blackhole_engine | NO || have_compress | YES || have_crypt | YES || have_csv | NO || have_dynamic_loading | YES || have_example_engine | NO || have_federated_engine | NO || have_geometry | YES || have_innodb | YES || have_isam | NO || have_merge_engine | YES || have_ndbcluster | NO || have_openssl | NO || have_query_cache | YES || have_raid | NO || have_rtree_keys | YES || have_symlink | YES || init_connect | || init_file | || init_slave | || innodb_additional_mem_pool_size | 1048576 || innodb_autoextend_increment | 8 || innodb_buffer_pool_awe_mem_mb | 0 || innodb_buffer_pool_size | 8388608 || innodb_checksums | ON || innodb_commit_concurrency | 0 || innodb_concurrency_tickets | 500 || innodb_data_file_path | ibdata1:10M:autoextend || innodb_data_home_dir | || innodb_doublewrite | ON || innodb_fast_shutdown | 1 || innodb_file_io_threads | 4 || innodb_file_per_table | OFF || innodb_flush_log_at_trx_commit | 1 || innodb_flush_method | || innodb_force_recovery | 0 || innodb_lock_wait_timeout | 50 || innodb_locks_unsafe_for_binlog | OFF || innodb_log_arch_dir | || innodb_log_archive | OFF || innodb_log_buffer_size | 1048576 || innodb_log_file_size | 5242880 || innodb_log_files_in_group | 2 || innodb_log_group_home_dir | ./ || innodb_max_dirty_pages_pct | 90 || innodb_max_purge_lag | 0 || innodb_mirrored_log_groups | 1 || innodb_open_files | 300 || innodb_support_xa | ON || innodb_sync_spin_loops | 20 || innodb_table_locks | ON || innodb_thread_concurrency | 8 || innodb_thread_sleep_delay | 10000 || interactive_timeout | 28800 || join_buffer_size | 131072 || key_buffer_size | 805306368 || key_cache_age_threshold | 300 || key_cache_block_size | 1024 || key_cache_division_limit | 100 || language | /usr/local/share/mysql/english/ || large_files_support | ON || large_page_size | 0 || large_pages | OFF || lc_time_names | en_US || license | GPL || local_infile | ON || locked_in_memory | OFF || log | OFF || log_bin | ON || log_bin_trust_function_creators | OFF || log_error | || log_queries_not_using_indexes | OFF || log_slave_updates | OFF || log_slow_queries | ON || log_warnings | 2 || long_query_time | 15 || low_priority_updates | OFF || lower_case_file_system | OFF || lower_case_table_names | 0 || max_allowed_packet | 10484736 || max_binlog_cache_size | 4294967295 || max_binlog_size | 1073741824 || max_connect_errors | 10000 || max_connections | 1000 || max_delayed_threads | 20 || max_error_count | 64 || max_heap_table_size | 16777216 || max_insert_delayed_threads | 20 || max_join_size | 4294967295 || max_length_for_sort_data | 1024 || max_prepared_stmt_count | 16382 || max_relay_log_size | 0 || max_seeks_for_key | 4294967295 || max_sort_length | 1024 || max_sp_recursion_depth | 0 || max_tmp_tables | 32 || max_user_connections | 0 || max_write_lock_count | 4294967295 || multi_range_count | 256 || myisam_data_pointer_size | 6 || myisam_max_sort_file_size | 2147483647 || myisam_recover_options | OFF || myisam_repair_threads | 1 || myisam_sort_buffer_size | 536870912 || myisam_stats_method | nulls_unequal || net_buffer_length | 16384 || net_read_timeout | 30 || net_retry_count | 1000000 || net_write_timeout | 60 || new | OFF || old_passwords | OFF || open_files_limit | 11095 || optimizer_prune_level | 1 || optimizer_search_depth | 62 || pid_file | /var/db/mysql/databas.wcmprem.com.pid || port | 3306 || preload_buffer_size | 32768 || prepared_stmt_count | 0 || protocol_version | 10 || query_alloc_block_size | 8192 || query_cache_limit | 4194304 || query_cache_min_res_unit | 4096 || query_cache_size | 268435456 || query_cache_type | ON || query_cache_wlock_invalidate | OFF || query_prealloc_size | 8192 || range_alloc_block_size | 2048 || read_buffer_size | 16773120 || read_only | OFF || read_rnd_buffer_size | 16773120 || relay_log_purge | ON || relay_log_space_limit | 0 || rpl_recovery_rank | 0 || secure_auth | OFF || server_id | 1 || skip_external_locking | ON || skip_networking | OFF || skip_show_database | OFF || slave_compressed_protocol | OFF || slave_load_tmpdir | /var/tmp/ || slave_net_timeout | 3600 || slave_skip_errors | OFF || slave_transaction_retries | 10 || slow_launch_time | 2 || socket | /tmp/mysql.sock || sort_buffer_size | 16777208 || sql_big_selects | ON || sql_mode | || sql_notes | ON || sql_warnings | OFF || ssl_ca | || ssl_capath | || ssl_cert | || ssl_cipher | || ssl_key | || storage_engine | MyISAM || sync_binlog | 0 || sync_frm | ON || system_time_zone | CEST || table_cache | 1536 || table_lock_wait_timeout | 50 || table_type | MyISAM || thread_cache_size | 64 || thread_stack | 196608 || time_format | %H:%i:%s || time_zone | SYSTEM || timed_mutexes | OFF || tmp_table_size | 33554432 || tmpdir | /var/tmp/ || transaction_alloc_block_size | 8192 || transaction_prealloc_size | 4096 || tx_isolation | REPEATABLE-READ || updatable_views_with_limit | YES || version | 5.0.27-log || version_bdb | Sleepycat Software: Berkeley DB 4.1.24: (October 21, 2006) || version_comment | FreeBSD port: mysql-server-5.0.27 || version_compile_machine | i386 || version_compile_os | portbld-freebsd6.1 || wait_timeout | 28800 |±--------------------------------±-----------------------------------------------------------+±----------------------------------±-----------+| Variable_name | Value |±----------------------------------±-----------+| Aborted_clients | 80 || Aborted_connects | 13 || Binlog_cache_disk_use | 0 || Binlog_cache_use | 29115 || Bytes_received | 58300033 || Bytes_sent | 301428993 || Com_admin_commands | 30 || Com_alter_db | 0 || Com_alter_table | 0 || Com_analyze | 0 || Com_backup_table | 0 || Com_begin | 0 || Com_change_db | 405 || Com_change_master | 0 || Com_check | 0 || Com_checksum | 0 || Com_commit | 0 || Com_create_db | 0 || Com_create_function | 0 || Com_create_index | 0 || Com_create_table | 0 || Com_dealloc_sql | 0 || Com_delete | 5562 || Com_delete_multi | 0 || Com_do | 0 || Com_drop_db | 0 || Com_drop_function | 0 || Com_drop_index | 0 || Com_drop_table | 0 || Com_drop_user | 0 || Com_execute_sql | 0 || Com_flush | 0 || Com_grant | 0 || Com_ha_close | 0 || Com_ha_open | 0 || Com_ha_read | 0 || Com_help | 0 || Com_insert | 16661 || Com_insert_select | 0 || Com_kill | 0 || Com_load | 0 || Com_load_master_data | 0 || Com_load_master_table | 0 || Com_lock_tables | 0 || Com_optimize | 0 || Com_preload_keys | 0 || Com_prepare_sql | 0 || Com_purge | 0 || Com_purge_before_date | 0 || Com_rename_table | 0 || Com_repair | 0 || Com_replace | 19 || Com_replace_select | 0 || Com_reset | 0 || Com_restore_table | 0 || Com_revoke | 0 || Com_revoke_all | 0 || Com_rollback | 0 || Com_savepoint | 0 || Com_select | 115389 || Com_set_option | 43 || Com_show_binlog_events | 0 || Com_show_binlogs | 1 || Com_show_charsets | 3 || Com_show_collations | 3 || Com_show_column_types | 0 || Com_show_create_db | 0 || Com_show_create_table | 0 || Com_show_databases | 3 || Com_show_errors | 0 || Com_show_fields | 0 || Com_show_grants | 1 || Com_show_innodb_status | 0 || Com_show_keys | 0 || Com_show_logs | 0 || Com_show_master_status | 0 || Com_show_ndb_status | 0 || Com_show_new_master | 0 || Com_show_open_tables | 0 || Com_show_privileges | 0 || Com_show_processlist | 0 || Com_show_slave_hosts | 30 || Com_show_slave_status | 0 || Com_show_status | 7 || Com_show_storage_engines | 0 || Com_show_tables | 12 || Com_show_triggers | 0 || Com_show_variables | 43 || Com_show_warnings | 0 || Com_slave_start | 0 || Com_slave_stop | 0 || Com_stmt_close | 0 || Com_stmt_execute | 0 || Com_stmt_fetch | 0 || Com_stmt_prepare | 0 || Com_stmt_reset | 0 || Com_stmt_send_long_data | 0 || Com_truncate | 3 || Com_unlock_tables | 0 || Com_update | 40054 || Com_update_multi | 0 || Com_xa_commit | 0 || Com_xa_end | 0 || Com_xa_prepare | 0 || Com_xa_recover | 0 || Com_xa_rollback | 0 || Com_xa_start | 0 || Compression | OFF || Connections | 233456 || Created_tmp_disk_tables | 1266 || Created_tmp_files | 13 || Created_tmp_tables | 2079 || Delayed_errors | 0 || Delayed_insert_threads | 0 || Delayed_writes | 0 || Flush_commands | 1 || Handler_commit | 58230 || Handler_delete | 103 || Handler_discover | 0 || Handler_prepare | 58230 || Handler_read_first | 12412 || Handler_read_key | 42935537 || Handler_read_next | 273099367 || Handler_read_prev | 77 || Handler_read_rnd | 1333194 || Handler_read_rnd_next | 117571738 || Handler_rollback | 0 || Handler_savepoint | 0 || Handler_savepoint_rollback | 0 || Handler_update | 675414 || Handler_write | 1079186 || Innodb_buffer_pool_pages_data | 491 || Innodb_buffer_pool_pages_dirty | 11 || Innodb_buffer_pool_pages_flushed | 17015 || Innodb_buffer_pool_pages_free | 0 || Innodb_buffer_pool_pages_latched | 13 || Innodb_buffer_pool_pages_misc | 20 || Innodb_buffer_pool_pages_total | 512 || Innodb_buffer_pool_read_ahead_rnd | 29078 || Innodb_buffer_pool_read_ahead_seq | 42605 || Innodb_buffer_pool_read_requests | 775770445 || Innodb_buffer_pool_reads | 7306943 || Innodb_buffer_pool_wait_free | 0 || Innodb_buffer_pool_write_requests | 193413 || Innodb_data_fsyncs | 49863 || Innodb_data_pending_fsyncs | 0 || Innodb_data_pending_reads | 0 || Innodb_data_pending_writes | 0 || Innodb_data_read | 1111085056 || Innodb_data_reads | 7487542 || Innodb_data_writes | 62401 || Innodb_data_written | 595682816 || Innodb_dblwr_pages_written | 17015 || Innodb_dblwr_writes | 852 || Innodb_log_waits | 0 || Innodb_log_write_requests | 26736 || Innodb_log_writes | 47982 || Innodb_os_log_fsyncs | 48185 || Innodb_os_log_pending_fsyncs | 0 || Innodb_os_log_pending_writes | 0 || Innodb_os_log_written | 38043648 || Innodb_page_size | 16384 || Innodb_pages_created | 407 || Innodb_pages_read | 7932003 || Innodb_pages_written | 17015 || Innodb_row_lock_current_waits | 0 || Innodb_row_lock_time | 5853 || Innodb_row_lock_time_avg | 7 || Innodb_row_lock_time_max | 75 || Innodb_row_lock_waits | 768 || Innodb_rows_deleted | 813 || Innodb_rows_inserted | 800 || Innodb_rows_read | 270720967 || Innodb_rows_updated | 22619 || Key_blocks_not_flushed | 2 || Key_blocks_unused | 657947 || Key_blocks_used | 39873 || Key_read_requests | 33252925 || Key_reads | 40644 || Key_write_requests | 77752 || Key_writes | 15515 || Last_query_cost | 0.000000 || Max_used_connections | 176 || Not_flushed_delayed_rows | 0 || Open_files | 456 || Open_streams | 0 || Open_tables | 424 || Opened_tables | 438 || Qcache_free_blocks | 3847 || Qcache_free_memory | 252542352 || Qcache_hits | 341345 || Qcache_inserts | 89561 || Qcache_lowmem_prunes | 0 || Qcache_not_cached | 25895 || Qcache_queries_in_cache | 10025 || Qcache_total_blocks | 24064 || Questions | 753954 || Rpl_status | NULL || Select_full_join | 56 || Select_full_range_join | 0 || Select_range | 13250 || Select_range_check | 0 || Select_scan | 18888 || Slave_open_temp_tables | 0 || Slave_retried_transactions | 0 || Slave_running | OFF || Slow_launch_threads | 0 || Slow_queries | 373 || Sort_merge_passes | 4 || Sort_range | 12783 || Sort_rows | 10790387 || Sort_scan | 5819 || Table_locks_immediate | 241827 || Table_locks_waited | 396 || Tc_log_max_pages_used | 0 || Tc_log_page_size | 0 || Tc_log_page_waits | 0 || Threads_cached | 23 || Threads_connected | 76 || Threads_created | 184 || Threads_running | 27 || Uptime | 1804 |±----------------------------------±-----------+Uptime: 1804 Threads: 76 Questions: 753955 Slow queries: 373 Opens: 438 Flush tables: 1 Open tables: 424 Queries per second avg: 417.935mysqladmin Ver 8.41 Distrib 5.0.27, for portbld-freebsd6.1 on i386Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult ABThis software comes with ABSOLUTELY NO WARRANTY. This is free software,and you are welcome to modify and redistribute it under the GPL licenseServer version 5.0.27-logProtocol version 10Connection Localhost via UNIX socketUNIX socket /tmp/mysql.sockUptime: 30 min 4 secThreads: 76 Questions: 753955 Slow queries: 373 Opens: 438 Flush tables: 1 Open tables: 424 Queries per second avg: 417.935

you’re actively using Innodb but you have not set any Innodb settings.

Plus your local buffers (sort_buffer, read_buffer, read_rnd_buffer) may be too large.

Peter is right, you only have a 4GIG server.

Your buffers are massive…

sort_buffer_size = 16M
read_buffer_size = 16M
read_rnd_buffer_size = 16M

Assuming that you have dedicated this box entirely
for MySQL they should be around:

sort_buffer_size = 4M
read_buffer_size = 4M
read_rnd_buffer_size = 4M

Thanks, yes the box is dedicated for MySQL.
I just recently upgraded to 8GB. Should the buffers double up too?

[B]kaahbonk wrote on Mon, 10 September 2007 02:45[/B]
Thanks, yes the box is dedicated for MySQL. I just recently upgraded to 8GB. Should the buffers double up too?

You could probably safely double them, I guess it also depends
on what else you have done to up the ante since you’ve upgraded to 8GIG…