PDA

View Full Version : Need optimization please


egyptsons
Wed 16th Aug '06, 11:24am
Hello,
My server going to slow :(
this is the server details i don't know if I get it right

1. Dedicated server

2. processors Name: Intel Xeon(TM) CPU 2.40GHz
Memmory size: 1024 KB
hard drive : 160GB
Server Type Linux (CentOS 4.3)
Apache v1.3.36
PHP 5.1.4
MySQL Version 4.1.14-standard

5. top stats
23604 nobody 20 0 29804 22m 12m R 24.5 2.2 0:01.00 httpd
5918 mysql 16 0 192m 55m 3300 S 15.9 5.5 5:38.19 mysqld
23550 nobody 16 0 0 0 0 Z 13.7 0.0 0:01.14 httpd <defunct>
23580 nobody 18 0 29600 22m 12m S 12.7 2.2 0:01.42 httpd
23843 nobody 16 0 30552 22m 12m S 12.7 2.3 0:01.07 httpd
24198 nobody 21 0 29840 22m 12m R 12.1 2.2 0:01.11 httpd
23669 nobody 19 0 29704 22m 12m R 9.9 2.2 0:01.10 httpd
24152 nobody 21 0 29488 21m 12m R 9.6 2.2 0:00.79 httpd
23484 nobody 21 0 30208 22m 12m R 9.2 2.2 0:02.39 httpd
23906 nobody 22 0 29976 22m 12m R 8.9 2.2 0:00.80 httpd
23436 nobody 17 0 29584 21m 12m S 8.3 2.2 0:00.69 httpd
23885 nobody 19 0 29700 22m 12m R 8.3 2.2 0:00.70 httpd
24099 nobody 22 0 29684 22m 12m R 7.6 2.2 0:00.75 httpd
24341 nobody 17 0 29600 21m 12m S 7.3 2.2 0:01.03 httpd
24220 nobody 16 0 29600 22m 12m S 6.7 2.2 0:01.37 httpd
23856 nobody 18 0 29264 21m 12m S 6.4 2.1 0:00.36 httpd
24038 nobody 22 0 29700 22m 12m R 6.4 2.2 0:00.79 httpd
24082 nobody 22 0 29384 21m 12m R 6.4 2.2 0:00.84 httpd
23925 nobody 17 0 29620 21m 12m S 4.8 2.2 0:00.75 httpd
24432 nobody 16 0 28364 20m 12m S 1.0 2.1 0:00.22 httpd
4119 root 25 0 23992 16m 11m R 0.6 1.6 1:17.56 httpd
24386 root 16 0 2900 1036 740 R 0.6 0.1 0:00.11 top
24475 nobody 25 0 0 0 0 Z 0.6 0.0 0:00.02 httpd <defunct>
24476 nobody 15 0 0 0 0 Z 0.6 0.0 0:00.02 httpd <defunct>
23690 nobody 15 0 30392 22m 12m S 0.3 2.3 0:01.03 httpd
1 root 16 0 2096 448 416 S 0.0 0.0 0:01.93 init
2 root RT 0 0 0 0 S 0.0 0.0 0:00.03 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.05 ksoftirqd/0
4 root RT 0 0 0 0 S 0.0 0.0 0:00.01 migration/1
5 root 34 19 0 0 0 S 0.0 0.0 0:00.05 ksoftirqd/1
6 root 5 -10 0 0 0 S 0.0 0.0 0:00.01 events/0
7 root 5 -10 0 0 0 S 0.0 0.0 0:00.01 events/1
8 root 5 -10 0 0 0 S 0.0 0.0 0:00.00 khelper



6. My mysql configuration
[mysqld]
set-variable = max_connections=500
safe-show-database
old-passwords = 1




7. MySQL stats from ssh telnet as root user type:
Enter password:
+---------------------------------+------------------------------------------+
| Variable_name | Value |
+---------------------------------+------------------------------------------+
| back_log | 50 |
| basedir | / |
| 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 | 5 |
| 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 | NO |
| 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 | NO |
| 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 | 131072 |
| key_buffer_size | 8388600 |
| 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 | 1048576 |
| max_binlog_cache_size | 4294967295 |
| max_binlog_size | 1073741824 |
| max_connect_errors | 10 |
| max_connections | 500 |
| 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_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 | 8388608 |
| myisam_stats_method | nulls_unequal |
| net_buffer_length | 16384 |
| net_read_timeout | 30 |
| net_retry_count | 10 |
| net_write_timeout | 60 |
| new | OFF |
| old_passwords | ON |
| open_files_limit | 2510 |
| pid_file | /var/lib/mysql/server.egyptsons.com.pid |
| port | 3306 |
| preload_buffer_size | 32768 |
| prepared_stmt_count | 0 |
| protocol_version | 10 |
| query_alloc_block_size | 8192 |
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 0 |
| query_cache_type | ON |
| query_cache_wlock_invalidate | OFF |
| query_prealloc_size | 8192 |
| range_alloc_block_size | 2048 |
| read_buffer_size | 131072 |
| read_only | OFF |
| read_rnd_buffer_size | 262144 |
| relay_log_purge | ON |
| relay_log_space_limit | 0 |
| rpl_recovery_rank | 0 |
| secure_auth | OFF |
| server_id | 0 |
| 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 | |
| sql_notes | ON |
| sql_warnings | ON |
| storage_engine | MyISAM |
| sync_binlog | 0 |
| sync_frm | ON |
| sync_replication | 0 |
| sync_replication_slave_id | 0 |
| sync_replication_timeout | 0 |
| system_time_zone | CDT |
| table_cache | 64 |
| table_type | MyISAM |
| thread_cache_size | 0 |
| thread_stack | 196608 |
| 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.19-standard |
| version_comment | MySQL Community Edition - Standard (GPL) |
| version_compile_machine | i686 |
| version_compile_os | pc-linux-gnu |
| wait_timeout | 28800 |
+---------------------------------+------------------------------------------+
+----------------------------+------------+
| Variable_name | Value |
+----------------------------+------------+
| Aborted_clients | 0 |
| Aborted_connects | 3 |
| Binlog_cache_disk_use | 0 |
| Binlog_cache_use | 0 |
| Bytes_received | 13072802 |
| Bytes_sent | 1876946691 |
| 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 | 4949 |
| 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 | 54 |
| Com_dealloc_sql | 0 |
| Com_delete | 305 |
| Com_delete_multi | 0 |
| Com_do | 0 |
| Com_drop_db | 0 |
| Com_drop_function | 0 |
| Com_drop_index | 0 |
| Com_drop_table | 54 |
| 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 | 2625 |
| Com_insert_select | 0 |
| Com_kill | 0 |
| Com_load | 0 |
| Com_load_master_data | 0 |
| Com_load_master_table | 0 |
| Com_lock_tables | 7 |
| 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 | 400 |
| 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 | 47716 |
| Com_set_option | 790 |
| 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 | 1 |
| Com_show_grants | 0 |
| 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 | 10 |
| Com_show_slave_hosts | 0 |
| Com_show_slave_status | 0 |
| Com_show_status | 7 |
| Com_show_storage_engines | 0 |
| Com_show_tables | 0 |
| Com_show_variables | 3 |
| Com_show_warnings | 0 |
| Com_slave_start | 0 |
| Com_slave_stop | 0 |
| Com_stmt_close | 0 |
| Com_stmt_execute | 0 |
| Com_stmt_prepare | 0 |
| Com_stmt_reset | 0 |
| Com_stmt_send_long_data | 0 |
| Com_truncate | 0 |
| Com_unlock_tables | 7 |
| Com_update | 2621 |
| Com_update_multi | 4 |
| Connections | 4976 |
| Created_tmp_disk_tables | 22 |
| Created_tmp_files | 416 |
| Created_tmp_tables | 472 |
| Delayed_errors | 0 |
| Delayed_insert_threads | 0 |
| Delayed_writes | 0 |
| Flush_commands | 1 |
| Handler_commit | 0 |
| Handler_delete | 821 |
| Handler_discover | 0 |
| Handler_read_first | 2429 |
| Handler_read_key | 977018 |
| Handler_read_next | 6817053 |
| Handler_read_prev | 9255 |
| Handler_read_rnd | 60355 |
| Handler_read_rnd_next | 14096157 |
| Handler_rollback | 0 |
| Handler_update | 384382 |
| Handler_write | 418961 |
| Key_blocks_not_flushed | 0 |
| Key_blocks_unused | 37 |
| Key_blocks_used | 7248 |
| Key_read_requests | 1912987 |
| Key_reads | 41488 |
| Key_write_requests | 5127 |
| Key_writes | 3841 |
| Max_used_connections | 90 |
| Not_flushed_delayed_rows | 0 |
| Open_files | 105 |
| Open_streams | 0 |
| Open_tables | 64 |
| Opened_tables | 15396 |
| Qcache_free_blocks | 0 |
| Qcache_free_memory | 0 |
| Qcache_hits | 0 |
| Qcache_inserts | 0 |
| Qcache_lowmem_prunes | 0 |
| Qcache_not_cached | 0 |
| Qcache_queries_in_cache | 0 |
| Qcache_total_blocks | 0 |
| Questions | 64532 |
| Rpl_status | NULL |
| Select_full_join | 31 |
| Select_full_range_join | 0 |
| Select_range | 10233 |
| Select_range_check | 0 |
| Select_scan | 7327 |
| Slave_open_temp_tables | 0 |
| Slave_retried_transactions | 0 |
| Slave_running | OFF |
| Slow_launch_threads | 0 |
| Slow_queries | 421 |
| Sort_merge_passes | 206 |
| Sort_range | 5179 |
| Sort_rows | 560646 |
| Sort_scan | 1697 |
| Table_locks_immediate | 72802 |
| Table_locks_waited | 1231 |
| Threads_cached | 0 |
| Threads_connected | 28 |
| Threads_created | 4975 |
| Threads_running | 6 |
| Uptime | 3010 |
+----------------------------+------------+
Uptime: 3010 Threads: 29 Questions: 64538 Slow queries: 421 Opens: 15396 Flush tables: 1 Open tables: 64 Queries per second avg: 21.441
mysqladmin Ver 8.41 Distrib 4.1.19, for pc-linux-gnu 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.19-standard
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 50 min 10 sec

Threads: 29 Questions: 64538 Slow queries: 421 Opens: 15396 Flush tables: 1 Open tables: 64 Queries per second avg: 21.441


8. is your vB the only thing on the server? or other scripts & sites which utilise php and mysql?
No I have other scripts but each one with unique DB

9. how many average and max concurrent users on your vB forum ?
I have about 40000 registered users and about 120 - 160 users online
and what your cookie timeout is ?
300 Sec.

10.
http://egyptsons.com/phpinfo.php

11./usr/local/apache/conf/httpd.conf

KeepAlive "on"
MaxKeepAliveRequests = 100
KeepAliveTimeout = 15
MinSpareServers = 5
MaxSpareServers = 10
StartServers = 5
MaxClients = 150
Maxrequestsperchild value = 0


12.
vBulletin version 3.5.3

13.
No such file or directory

14.

uname -a
Linux server.egyptsons.com 2.6.9-34.0.2.ELsmp #1 SMP Fri Jul 7 19:52:49 CDT 2006 i686 i686 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) 1024
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) 16383
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited


cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Xeon(TM) CPU 2.40GHz
stepping : 9
cpu MHz : 2400.569
cache size : 512 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov

pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe cid xtpr
bogomips : 4805.39

processor : 1
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Xeon(TM) CPU 2.40GHz
stepping : 9
cpu MHz : 2400.569
cache size : 512 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov

pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe cid xtpr
bogomips : 4799.58

would you please help me to solve this problem?
Thanks in advanced,
Ahmed Salah

egyptsons
Thu 17th Aug '06, 7:10am
Now I have Installed APC-3.0.11

eva2000
Fri 18th Aug '06, 3:05am
1. Upgrade MySQL server to 4.1.21 http://www.vbulletin.com/forum/showthread.php?t=193353
2. Downgrade PHP to 4.4.3 or recompile 4.4.3 after updating MySQL
3. Edit /etc/my.cnf and place the following mysql server settings in /etc/my.cnf and restart mysql server afterwards


[mysqld]
safe-show-database
old_passwords
back_log = 75
skip-innodb
max_connections = 500
key_buffer = 32M
myisam_sort_buffer_size = 64M
join_buffer_size = 1M
read_buffer_size = 1M
sort_buffer_size = 2M
table_cache = 1800
thread_cache_size = 384
wait_timeout = 45
connect_timeout = 10
tmp_table_size = 64M
max_heap_table_size = 64M
max_allowed_packet = 64M
max_connect_errors = 10
read_rnd_buffer_size = 524288
bulk_insert_buffer_size = 8M
query_cache_limit = 3M
query_cache_size = 80M
query_cache_type = 1
query_prealloc_size = 163840
query_alloc_block_size = 32768
default-storage-engine = MyISAM

[mysqld_safe]
open_files_limit = 8192

[mysqldump]
quick
max_allowed_packet = 16M

[myisamchk]
key_buffer = 64M
sort_buffer = 64M
read_buffer = 16M
write_buffer = 16M

[mysqlhotcopy]
interactive-timeout


4. Edit httpd.conf values from

KeepAlive "on"
MaxKeepAliveRequests = 100
KeepAliveTimeout = 15
MinSpareServers = 5
MaxSpareServers = 10
StartServers = 5
MaxClients = 150
Maxrequestsperchild value = 0

to

KeepAlive "on"
MaxKeepAliveRequests = 100
KeepAliveTimeout = 15
MinSpareServers = 5
MaxSpareServers = 10
StartServers = 5
MaxClients = 150
Maxrequestsperchild value = 0

restart apache

5. Upgrade to vB 3.5.5 http://www.vbulletin.com/forum/showthread.php?t=194061 if you're on vB 3.5.x

6. If you just upgraded to vB 3.5.x try to disable these 4 options:

Admin CP -> vBulletin Options -> Forums Home Page Options -> Display Logged in Users?

Admin CP -> vBulletin Options -> Forum Display Options (forumdisplay) -> Show Users Browsing Forums

Admin CP -> vBulletin Options -> Thread Display Options -> Show Users Browsing Thread

Admin CP -> vBulletin Options -> Message Searching Options -> Automatic Similar Thread search

7. If you're using CentOS 4.2/4.3 linxu operating system, then upgrade your smp linux kernel to 2.6.9-39 at least to fix the high cpu load issue with CentOS linux http://www.vbulletin.com/forum/showthread.php?t=171071

egyptsons
Sat 19th Aug '06, 10:58am
Thanks alot eva2000 but I didn't know the diffrence between these value. they are the same :):confused:

4. Edit httpd.conf values from

KeepAlive "on"
MaxKeepAliveRequests = 100
KeepAliveTimeout = 15
MinSpareServers = 5
MaxSpareServers = 10
StartServers = 5
MaxClients = 150
Maxrequestsperchild value = 0

to

KeepAlive "on"
MaxKeepAliveRequests = 100
KeepAliveTimeout = 15
MinSpareServers = 5
MaxSpareServers = 10
StartServers = 5
MaxClients = 150
Maxrequestsperchild value = 0

restart apache

eva2000
Mon 21st Aug '06, 6:14am
whoops my mistake i meant try this

KeepAlive "on"
MaxKeepAliveRequests = 100
KeepAliveTimeout = 5
MinSpareServers = 5
MaxSpareServers = 10
StartServers = 5
MaxClients = 150
Maxrequestsperchild value = 500

restart apache

egyptsons
Fri 1st Sep '06, 11:56am
whoops my mistake i meant try this

KeepAlive "on"
MaxKeepAliveRequests = 100
KeepAliveTimeout = 5
MinSpareServers = 5
MaxSpareServers = 10
StartServers = 5
MaxClients = 150
Maxrequestsperchild value = 500

restart apache
Thanks again
and I want to say when I upgrade linux kernel to 2.6.9-39 it fix the high cpu load
its down to 1.2 from 169 :D

eva2000
Sun 3rd Sep '06, 4:13am
Glad to hear :)