PDA

View Full Version : Server Optimization needed


stamoulis
Mon 11th Dec '06, 2:42pm
since my board is growing and growing I moved to a bigger server and need some help because the load is getting very high again with 1300-1600 users online. max users online is 1800 with a cookie timeout of 1600.

here are the details:

1) dedicated Server, only one site
2) AMD Opteron 1214 64 Bit Dual Core, 3 GB Ram, 500 GB HD, SuSe 10, Apache 2.2.0, PHP 5.1.3, MySql 4.1.13Max
3) No innobs
4) from the host, dunno
5)

top - 19:29:30 up 22:06, 1 user, load average: 18.34, 21.82, 32.79
Tasks: 343 total, 8 running, 334 sleeping, 0 stopped, 1 zombie
Cpu(s): 91.2% us, 6.6% sy, 0.0% ni, 0.5% id, 0.0% wa, 1.0% hi, 0.8% si
Mem: 3079336k total, 2628756k used, 450580k free, 7540k buffers
Swap: 2104496k total, 7272k used, 2097224k free, 720284k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
18615 mysql 15 0 309m 170m 4376 S 16 5.7 1:42.45 mysqld-max
20049 wwwrun 15 0 67948 17m 3192 S 14 0.6 0:00.42 httpd2-prefork
20036 wwwrun 15 0 67264 16m 3076 S 12 0.6 0:00.40 httpd2-prefork
19177 wwwrun 16 0 66460 16m 4076 S 10 0.6 0:06.26 httpd2-prefork
19307 wwwrun 16 0 66840 17m 4044 R 10 0.6 0:03.35 httpd2-prefork
20022 wwwrun 16 0 65748 15m 3152 R 9 0.5 0:00.58 httpd2-prefork
19767 wwwrun 15 0 66412 16m 3996 S 8 0.6 0:01.20 httpd2-prefork
19250 wwwrun 16 0 66956 17m 4040 S 8 0.6 0:03.53 httpd2-prefork
19740 wwwrun 17 0 66360 16m 4020 R 8 0.6 0:02.19 httpd2-prefork
19267 wwwrun 15 0 67052 17m 4068 S 8 0.6 0:04.12 httpd2-prefork
19699 wwwrun 16 0 66756 16m 3924 S 8 0.6 0:03.34 httpd2-prefork
19823 wwwrun 15 0 67456 17m 4052 S 7 0.6 0:00.81 httpd2-prefork
19955 wwwrun 15 0 67644 16m 3152 S 7 0.6 0:00.46 httpd2-prefork
19924 wwwrun 15 0 66256 16m 3996 S 6 0.6 0:00.53 httpd2-prefork
19801 wwwrun 15 0 66888 17m 4048 S 6 0.6 0:00.76 httpd2-prefork
18906 wwwrun 16 0 66368 16m 4020 S 5 0.6 0:08.14 httpd2-prefork
20025 wwwrun 15 0 67416 17m 3960 S 5 0.6 0:00.17 httpd2-prefork
19241 wwwrun 15 0 67120 17m 4076 S 5 0.6 0:03.39 httpd2-prefork
19750 wwwrun 16 0 66380 15m 3152 S 5 0.5 0:01.16 httpd2-prefork
19866 wwwrun 15 0 66136 16m 3912 S 5 0.5 0:00.45 httpd2-prefork
20006 wwwrun 15 0 65836 15m 3148 S 5 0.5 0:00.14 httpd2-prefork
19248 wwwrun 16 0 67052 17m 4012 S 4 0.6 0:01.99 httpd2-prefork
19748 wwwrun 15 0 66252 16m 4064 S 4 0.6 0:01.89 httpd2-prefork




6) my config:
# The MySQL server
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
max_connections = 750
max_allowed_packet = 16M
key_buffer_size = 128M
myisam_sort_buffer_size = 64M
join_buffer_size = 1M
sort_buffer_size = 2M
read_buffer_size = 1M
read_rnd_buffer_size = 512K
net_buffer_length = 8K
query_cache_limit = 2M
query_cache_size = 64M
query_cache_type = 1
thread_stack = 128K
thread_concurrency = 2
thread_cache = 8
table_cache = 256
connect_timeout = 10

and from apache:


StartServers 10

MinSpareServers 10

MaxSpareServers 15

ServerLimit 800

MaxClients 800
MaxRequestsPerChild 10000
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5



no big log files (under 1 GB)

and the mysql variables:



+---------------------------------+---------------------------------------------------------+
| Variable_name | Value |
+---------------------------------+---------------------------------------------------------+
| back_log | 50 |
| basedir | /usr/ |
| bdb_cache_size | 8388600 |
| bdb_home | /var/lib/mysql/ |
| bdb_log_buffer_size | 131072 |
| bdb_logdir | |
| bdb_max_lock | 10000 |
| bdb_shared_data | OFF |
| bdb_tmpdir | /var/lib/mysql/tmp/ |
| binlog_cache_size | 32768 |
| bulk_insert_buffer_size | 8388608 |
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
| concurrent_insert | ON |
| connect_timeout | 10 |
| datadir | /var/lib/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 |
| 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_example_engine | NO |
| have_geometry | YES |
| have_innodb | YES |
| have_isam | 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_data_file_path | ibdata1:10M:autoextend |
| innodb_data_home_dir | |
| innodb_fast_shutdown | ON |
| 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_table_locks | ON |
| innodb_thread_concurrency | 8 |
| interactive_timeout | 28800 |
| join_buffer_size | 1044480 |
| key_buffer_size | 134217728 |
| key_cache_age_threshold | 300 |
| key_cache_block_size | 1024 |
| key_cache_division_limit | 100 |
| language | /usr/share/mysql/english/ |
| large_files_support | ON |
| license | GPL |
| local_infile | ON |
| locked_in_memory | OFF |
| log | OFF |
| log_bin | OFF |
| log_error | |
| log_slave_updates | OFF |
| log_slow_queries | OFF |
| log_update | OFF |
| log_warnings | 1 |
| long_query_time | 10 |
| low_priority_updates | OFF |
| lower_case_file_system | OFF |
| lower_case_table_names | 0 |
| max_allowed_packet | 16776192 |
| max_binlog_cache_size | 4294967295 |
| max_binlog_size | 1073741824 |
| max_connect_errors | 10 |
| max_connections | 750 |
| 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_relay_log_size | 0 |
| max_seeks_for_key | 4294967295 |
| max_sort_length | 1024 |
| max_tmp_tables | 32 |
| max_user_connections | 0 |
| max_write_lock_count | 4294967295 |
| myisam_data_pointer_size | 4 |
| myisam_max_extra_sort_file_size | 2147483648 |
| myisam_max_sort_file_size | 2147483647 |
| myisam_recover_options | OFF |
| myisam_repair_threads | 1 |
| myisam_sort_buffer_size | 67108864 |
| net_buffer_length | 8192 |
| net_read_timeout | 30 |
| net_retry_count | 10 |
| net_write_timeout | 60 |
| new | OFF |
| old_passwords | OFF |
| open_files_limit | 3760 |
| pid_file | /var/lib/mysql/mysqld.pid |
| port | 3306 |
| preload_buffer_size | 32768 |
| protocol_version | 10 |
| query_alloc_block_size | 8192 |
| query_cache_limit | 2097152 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 67108864 |
| query_cache_type | ON |
| query_cache_wlock_invalidate | OFF |
| query_prealloc_size | 8192 |
| range_alloc_block_size | 2048 |
| read_buffer_size | 1044480 |
| read_only | OFF |
| read_rnd_buffer_size | 520192 |
| 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_net_timeout | 3600 |
| slave_transaction_retries | 0 |
| slow_launch_time | 2 |
| socket | /var/lib/mysql/mysql.sock |
| sort_buffer_size | 2097144 |
| sql_mode | |
| storage_engine | MyISAM |
| sql_notes | ON |
| sql_warnings | ON |
| sync_binlog | 0 |
| sync_replication | 0 |
| sync_replication_slave_id | 0 |
| sync_replication_timeout | 0 |
| sync_frm | ON |
| system_time_zone | CET |
| table_cache | 256 |
| table_type | MyISAM |
| thread_cache_size | 8 |
| thread_stack | 131072 |
| time_format | %H:%i:%s |
| time_zone | SYSTEM |
| tmp_table_size | 33554432 |
| tmpdir | |
| transaction_alloc_block_size | 8192 |
| transaction_prealloc_size | 4096 |
| tx_isolation | REPEATABLE-READ |
| version | 4.1.13-Max |
| version_bdb | Sleepycat Software: Berkeley DB 4.1.24: (July 15, 2005) |
| version_comment | SUSE MySQL RPM |
| version_compile_machine | i686 |
| version_compile_os | suse-linux |
| wait_timeout | 28800 |
+---------------------------------+---------------------------------------------------------+
+----------------------------+-----------+
| Variable_name | Value |
+----------------------------+-----------+
| Aborted_clients | 0 |
| Aborted_connects | 0 |
| Binlog_cache_disk_use | 0 |
| Binlog_cache_use | 0 |
| Bytes_received | 56762339 |
| Bytes_sent | 587727020 |
| Com_admin_commands | 0 |
| Com_alter_db | 0 |
| Com_alter_table | 0 |
| Com_analyze | 0 |
| Com_backup_table | 0 |
| Com_begin | 0 |
| Com_change_db | 13456 |
| Com_change_master | 0 |
| Com_check | 237 |
| 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 | 777 |
| 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 | 3745 |
| Com_insert_select | 13 |
| Com_kill | 0 |
| Com_load | 0 |
| Com_load_master_data | 0 |
| Com_load_master_table | 0 |
| Com_lock_tables | 0 |
| Com_optimize | 237 |
| 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 | 366 |
| 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 | 53023 |
| Com_set_option | 0 |
| Com_show_binlog_events | 0 |
| Com_show_binlogs | 0 |
| Com_show_charsets | 0 |
| Com_show_collations | 0 |
| Com_show_column_types | 0 |
| Com_show_create_db | 0 |
| Com_show_create_table | 0 |
| Com_show_databases | 0 |
| Com_show_errors | 0 |
| Com_show_fields | 0 |
| Com_show_grants | 0 |
| Com_show_innodb_status | 0 |
| Com_show_keys | 0 |
| Com_show_logs | 0 |
| Com_show_master_status | 0 |
| Com_show_new_master | 0 |
| Com_show_open_tables | 0 |
| Com_show_privileges | 0 |
| Com_show_processlist | 0 |
| Com_show_slave_hosts | 0 |
| Com_show_slave_status | 0 |
| Com_show_status | 10 |
| Com_show_storage_engines | 0 |
| Com_show_tables | 1 |
| Com_show_variables | 16 |
| Com_show_warnings | 0 |
| Com_slave_start | 0 |
| Com_slave_stop | 0 |
| Com_stmt_prepare | 0 |
| Com_stmt_execute | 0 |
| Com_stmt_send_long_data | 0 |
| Com_stmt_reset | 0 |
| Com_stmt_close | 0 |
| Com_truncate | 0 |
| Com_unlock_tables | 0 |
| Com_update | 13292 |
| Com_update_multi | 0 |
| Connections | 13465 |
| Created_tmp_disk_tables | 288 |
| Created_tmp_files | 373 |
| Created_tmp_tables | 1762 |
| Delayed_errors | 0 |
| Delayed_insert_threads | 0 |
| Delayed_writes | 0 |
| Flush_commands | 1 |
| Handler_commit | 0 |
| Handler_delete | 552 |
| Handler_discover | 0 |
| Handler_read_first | 5678 |
| Handler_read_key | 821237 |
| Handler_read_next | 1523364 |
| Handler_read_prev | 377445 |
| Handler_read_rnd | 52308 |
| Handler_read_rnd_next | 12587458 |
| Handler_rollback | 0 |
| Handler_update | 13610 |
| Handler_write | 32258 |
| Key_blocks_not_flushed | 0 |
| Key_blocks_unused | 101617 |
| Key_blocks_used | 109848 |
| Key_read_requests | 3346582 |
| Key_reads | 221106 |
| Key_write_requests | 4162 |
| Key_writes | 3576 |
| Max_used_connections | 150 |
| Not_flushed_delayed_rows | 0 |
| Open_files | 287 |
| Open_streams | 0 |
| Open_tables | 256 |
| Opened_tables | 3868 |
| Qcache_free_blocks | 1628 |
| Qcache_free_memory | 46567176 |
| Qcache_hits | 85629 |
| Qcache_inserts | 50566 |
| Qcache_lowmem_prunes | 0 |
| Qcache_not_cached | 2445 |
| Qcache_queries_in_cache | 5209 |
| Qcache_total_blocks | 12614 |
| Questions | 184181 |
| Rpl_status | NULL |
| Select_full_join | 114 |
| Select_full_range_join | 0 |
| Select_range | 10579 |
| Select_range_check | 0 |
| Select_scan | 2409 |
| Slave_open_temp_tables | 0 |
| Slave_running | OFF |
| Slave_retried_transactions | 0 |
| Slow_launch_threads | 4 |
| Slow_queries | 2 |
| Sort_merge_passes | 185 |
| Sort_range | 7763 |
| Sort_rows | 476717 |
| Sort_scan | 2136 |
| Table_locks_immediate | 129798 |
| Table_locks_waited | 7549 |
| Threads_cached | 0 |
| Threads_connected | 79 |
| Threads_created | 1681 |
| Threads_running | 32 |
| Uptime | 1313 |
+----------------------------+-----------+
Uptime: 1314 Threads: 71 Questions: 184282 Slow queries: 3 Opens: 3868 Flush tables: 1 Open tables: 256 Queries per second avg: 140.245
mysqladmin Ver 8.41 Distrib 4.1.13, for suse-linux on i686
Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license
Server version 4.1.13-Max
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 21 min 54 sec
Threads: 71 Questions: 184301 Slow queries: 3 Opens: 3868 Flush tables: 1 Open tables: 256 Queries per second avg: 140.260





and the other outputs;:
-----# uname -a
Linux ----- 2.6.16.13-4-bigsmp #1 SMP Wed May 3 04:53:23 UTC 2006 i686 athlon i386 GNU/Linux

-----# ulimit -aH
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
pending signals (-i) 24312
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
stack size (kbytes, -s) unlimited
cpu time (seconds, -t) unlimited
max user processes (-u) 24312
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited


---- # cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 67
model name : Dual-Core AMD Opteron(tm) Processor 1214
stepping : 2
cpu MHz : 2200.000
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm cr8legacy ts fid vid ttp tm stc
bogomips : 4424.29
processor : 1
vendor_id : AuthenticAMD
cpu family : 15
model : 67
model name : Dual-Core AMD Opteron(tm) Processor 1214
stepping : 2
cpu MHz : 2200.000
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm cr8legacy ts fid vid ttp tm stc
bogomips : 4424.29






also I have disabled already the online users at forums/threads and the option to show similar threads.

any ideas?! :confused:

stamoulis
Wed 13th Dec '06, 4:28pm
I guess my situation is helpless? :D