PDA

View Full Version : Server Optimization request


Hannan
Tue 5th Feb '08, 3:19am
Hi,
My forum it's getting too slow when the users about 50 to 80 online in a same time. I was changed some options but it's not going better also there isn't much cpu usage.

1. Dedicated server also my main portal in there

2. CPU: AMD Athlon 64 X2 Dual 4200+
Ram: 2 GB DDR2
Harddrive: 400GB SATA2 7200 non raid
OS: Windows 2003
IIS 6
PHP version:5.2.3
MySQL version: 5.0.37-community-nt

3.vBulletin 3.6.8 Patch Level 2

if you use mysql 4.x instead of mysql 3.23.x, do you have any innodb type databases/tables on your server ? Yes, nearly all of tables

5.MySQL installed with Plesk installer

6. Threads: 6,759,
Posts: 77,749, Members: 37,056, Active Members: 1,424
Most users ever online was 201

7.[MySQLD]
port=3306
basedir=C:\\Program Files\\SWsoft\\Plesk\\Databases\\MySQL
datadir=C:\\Program Files\\SWsoft\\Plesk\\Databases\\MySQL\\Data
default-character-set=latin1
default-storage-engine=INNODB
read_buffer_size=1M
read_rnd_buffer_size=256K
sort_buffer_size=256K
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=16M
innodb_log_file_size=10M
innodb_thread_concurrency=8
max_connections=600
old_passwords=1
max_user_connections=500
thread_cache_size=4
thread_stack=196608
binlog_cache_size=32768
net_read_timeout=30
net_retry_count=10
net_write_timeout=30
thread_concurrency=10
open_files_limit=0
[client]
port=3306


7&8.

MySQL Variables
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
automatic_sp_privileges ON
back_log 50
basedir C:\Program Files\SWsoft\Plesk\Databases\MySQL\
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 C:\Program Files\SWsoft\Plesk\Databases\MySQL\share\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 C:\Program Files\SWsoft\Plesk\Databases\MySQL\Data\
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 1800
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 YES
have_bdb NO
have_blackhole_engine NO
have_compress YES
have_crypt NO
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 DISABLED
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 2097152
innodb_autoextend_increment 8
innodb_buffer_pool_awe_mem_mb 0
innodb_buffer_pool_size 16777216
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 10485760
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_rollback_on_timeout OFF
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 8388600
key_cache_age_threshold 300
key_cache_block_size 1024
key_cache_division_limit 100
language C:\Program Files\SWsoft\Plesk\Databases\MySQL\share\english\
large_files_support ON
large_page_size 0
large_pages OFF
lc_time_names en_US
license GPL
local_infile ON
log OFF
log_bin OFF
log_bin_trust_function_creators OFF
log_error .\fdc-3hwbxcnon8d.err
log_queries_not_using_indexes OFF
log_slave_updates OFF
log_slow_queries OFF
log_warnings 1
long_query_time 10
low_priority_updates OFF
lower_case_file_system ON
lower_case_table_names 1
max_allowed_packet 1048576
max_binlog_cache_size 4294967295
max_binlog_size 1073741824
max_connect_errors 10
max_connections 600
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 500
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 8388608
myisam_stats_method nulls_unequal
named_pipe OFF
net_buffer_length 16384
net_read_timeout 30
net_retry_count 10
net_write_timeout 30
new OFF
old_passwords ON
open_files_limit 2048
optimizer_prune_level 1
optimizer_search_depth 62
pid_file C:\Program Files\SWsoft\Plesk\Databases\MySQL\Data\fdc-3hwbxcnon8d.pid
port 3306
preload_buffer_size 32768
profiling OFF
profiling_history_size 15
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 1044480
read_only OFF
read_rnd_buffer_size 258048
relay_log_purge ON
relay_log_space_limit 0
rpl_recovery_rank 0
secure_auth OFF
shared_memory OFF
shared_memory_base_name MYSQL
server_id 0
skip_external_locking ON
skip_networking OFF
skip_show_database OFF
slave_compressed_protocol OFF
slave_load_tmpdir C:\WINDOWS\TEMP\
slave_net_timeout 3600
slave_skip_errors OFF
slave_transaction_retries 10
slow_launch_time 2
sort_buffer_size 262136
sql_big_selects ON
sql_mode
sql_notes ON
sql_warnings OFF
ssl_ca
ssl_capath
ssl_cert
ssl_cipher
ssl_key
storage_engine InnoDB
sync_binlog 0
sync_frm ON
system_time_zone Iran Standard Time
table_cache 64
table_lock_wait_timeout 50
table_type InnoDB
thread_cache_size 4
thread_stack 196608
time_format %H:%i:%s
time_zone SYSTEM
timed_mutexes OFF
tmp_table_size 33554432
tmpdir C:\WINDOWS\TEMP\
transaction_alloc_block_size 8192
transaction_prealloc_size 4096
tx_isolation REPEATABLE-READ
updatable_views_with_limit YES
version 5.0.37-community-nt
version_comment MySQL Community Edition (GPL)
version_compile_machine ia32
version_compile_os Win32
wait_timeout 28800

MySQL Status
Variable_name Value
Aborted_clients 58
Aborted_connects 0
Binlog_cache_disk_use 0
Binlog_cache_use 0
Bytes_received 2204
Bytes_sent 427378
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 1
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_create_user 0
Com_dealloc_sql 0
Com_delete 0
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 0
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 0
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 5
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_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 0
Com_show_slave_status 0
Com_show_status 1
Com_show_storage_engines 0
Com_show_tables 0
Com_show_triggers 0
Com_show_variables 0
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 0
Com_unlock_tables 0
Com_update 1
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 13278
Created_tmp_disk_tables 0
Created_tmp_files 1241
Created_tmp_tables 1
Delayed_errors 0
Delayed_insert_threads 0
Delayed_writes 0
Flush_commands 1
Handler_commit 0
Handler_delete 0
Handler_discover 0
Handler_prepare 0
Handler_read_first 1
Handler_read_key 28
Handler_read_next 1425
Handler_read_prev 0
Handler_read_rnd 0
Handler_read_rnd_next 0
Handler_rollback 0
Handler_savepoint 0
Handler_savepoint_rollback 0
Handler_update 1
Handler_write 131
Innodb_buffer_pool_pages_data 1015
Innodb_buffer_pool_pages_dirty 6
Innodb_buffer_pool_pages_flushed 92617
Innodb_buffer_pool_pages_free 0
Innodb_buffer_pool_pages_latched 0
Innodb_buffer_pool_pages_misc 9
Innodb_buffer_pool_pages_total 1024
Innodb_buffer_pool_read_ahead_rnd 966
Innodb_buffer_pool_read_ahead_seq 10735
Innodb_buffer_pool_read_requests 7962044
Innodb_buffer_pool_reads 217868
Innodb_buffer_pool_wait_free 0
Innodb_buffer_pool_write_requests 720974
Innodb_data_fsyncs 14622
Innodb_data_pending_fsyncs 0
Innodb_data_pending_reads 0
Innodb_data_pending_writes 0
Innodb_data_read 921620480
Innodb_data_reads 580415
Innodb_data_writes 106097
Innodb_data_written 3137930240
Innodb_dblwr_pages_written 92617
Innodb_dblwr_writes 1823
Innodb_log_waits 12
Innodb_log_write_requests 214478
Innodb_log_writes 9928
Innodb_os_log_fsyncs 10794
Innodb_os_log_pending_fsyncs 0
Innodb_os_log_pending_writes 0
Innodb_os_log_written 102550016
Innodb_page_size 16384
Innodb_pages_created 6464
Innodb_pages_read 580406
Innodb_pages_written 92617
Innodb_row_lock_current_waits 0
Innodb_row_lock_time 0
Innodb_row_lock_time_avg 0
Innodb_row_lock_time_max 0
Innodb_row_lock_waits 1
Innodb_rows_deleted 224
Innodb_rows_inserted 197895
Innodb_rows_read 13602492
Innodb_rows_updated 8584
Key_blocks_not_flushed 0
Key_blocks_unused 6541
Key_blocks_used 1277
Key_read_requests 2963531
Key_reads 57918
Key_write_requests 107700
Key_writes 5587
Last_query_cost 297.599000
Max_used_connections 11
Not_flushed_delayed_rows 0
Open_files 74
Open_streams 0
Open_tables 64
Opened_tables 3
Prepared_stmt_count 0
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 251348
Rpl_status NULL
Select_full_join 0
Select_full_range_join 0
Select_range 1
Select_range_check 0
Select_scan 2
Slave_open_temp_tables 0
Slave_retried_transactions 0
Slave_running OFF
Slow_launch_threads 0
Slow_queries 0
Sort_merge_passes 0
Sort_range 0
Sort_rows 0
Sort_scan 0
Ssl_accept_renegotiates 0
Ssl_accepts 0
Ssl_callback_cache_hits 0
Ssl_cipher
Ssl_cipher_list
Ssl_client_connects 0
Ssl_connect_renegotiates 0
Ssl_ctx_verify_depth 0
Ssl_ctx_verify_mode 0
Ssl_default_timeout 0
Ssl_finished_accepts 0
Ssl_finished_connects 0
Ssl_session_cache_hits 0
Ssl_session_cache_misses 0
Ssl_session_cache_mode NONE
Ssl_session_cache_overflows 0
Ssl_session_cache_size 0
Ssl_session_cache_timeouts 0
Ssl_sessions_reused 0
Ssl_used_session_cache_entries 0
Ssl_verify_depth 0
Ssl_verify_mode 0
Ssl_version
Table_locks_immediate 266557
Table_locks_waited 126
Tc_log_max_pages_used 0
Tc_log_page_size 0
Tc_log_page_waits 0
Threads_cached 2
Threads_connected 4
Threads_created 171
Threads_running 1
Uptime 12986
Uptime_since_flush_status 12986

9. Php-nuke I wanna remove this script soon, Coppermine gallery

10. how many average and max concurrent users on your vB forum ? and what your cookie timeout is ?
40~50, 90, 900

11.http://forum.persiandown.com/phpinfo.php

12.N/A
13.N/A
14.N/A

Also when I changing to ISAPI mode in the morning it's too slow particularly for posting reply and editing.
thanks

Hannan
Thu 7th Feb '08, 3:37am
I changed again to ISAPI mode. plz help me as soon as possible.
thanks

eva2000
Fri 8th Feb '08, 8:25am
Try the following in this exact order. You can ignore any of the suggestions that you have already done.

1. Upgrade MySQL 5.0.45 or 5.0.51 if possible and then upgrade PHP to 5.2.5 or if you have problems install PHP 4.4.8 (in either case install as ISAPI module and NOT CGI)
2. Edit mysql server's /etc/my.cnf or c:\my.ini for windows and place the following mysql server settings in /etc/my.cnf and restart mysql server afterwards. Make sure to restart mysql server everytime you make changes to your my.cnf for the changes to take effect.

If mysql doesn't restart properly after my.cnf changes and you're on VPS server, make sure skip-innodb entry is removed or commented out from below my.cnf


[client]
port=3306

[mysqld]
port=3306
basedir=C:\\Program Files\\SWsoft\\Plesk\\Databases\\MySQL
datadir=C:\\Program Files\\SWsoft\\Plesk\\Databases\\MySQL\\Data
safe-show-database
old_passwords
back_log = 50
#skip-innodb
max_connections = 500
key_buffer_size = 32M
myisam_sort_buffer_size = 64M
join_buffer_size = 1M
read_buffer_size = 1M
sort_buffer_size = 2M
table_cache = 2048
thread_cache_size = 128
wait_timeout = 15
connect_timeout = 10
tmp_table_size = 64M
max_heap_table_size = 64M
max_allowed_packet = 64M
net_buffer_length = 16384
max_connect_errors = 10
thread_concurrency = 4
concurrent_insert = 2
table_lock_wait_timeout = 30
read_rnd_buffer_size = 786432
bulk_insert_buffer_size = 8M
query_cache_limit = 4M
query_cache_size = 64M
query_cache_type = 1
query_prealloc_size = 262144
query_alloc_block_size = 65536
transaction_alloc_block_size = 8192
transaction_prealloc_size = 4096
default-storage-engine = MyISAM
max_write_lock_count = 16

innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=16M
innodb_log_file_size=10M
innodb_thread_concurrency=8

[mysqld_safe]
nice = -10
open_files_limit = 8192

[mysqldump]
quick
max_allowed_packet = 16M

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


If you get mysql server gone away error messages, then keep increasing wait_timeout value in my.cnf by 60 second increments, then restart mysql after my.cnf changes for it to take effect. Test for a few days and see if you get less or eliminate that error message. If it still occurs, then keep repeating the 60 second increment until the message goes away. Each vB forum and server will have different optimal wait_timeout values depending on your vB forum traffic patterns and server hardware specifications.

3. Remove Eaccelerator or APC Cache if they're installed (check phpinfo.php url of yours to see) and instead install Xcache v1.2.1 final release or Xcache v1.2.2 http://xcache.lighttpd.net/wiki/Release-1.2.2 which seems to be a bit faster than APC Cache - http://www.vbulletin.com/forum/showthread.php?t=213267. Xcache site http://xcache.lighttpd.net/, documentation http://trac.lighttpd.net/trac/wiki/Docs and forums http://forum.lighttpd.net/forum/4

4. Upgrade to vB 3.0.17 http://www.vbulletin.com/forum/showthread.php?t=209720 if you're on vB 3.0.xx or upgrade to vB 3.5.8 http://www.vbulletin.com/forum/showthread.php?t=221903 if you're on vB 3.5.x. Upgrade to vB 3.6.8 PL2 http://www.vbulletin.com/forum/showthread.php?t=247739 if you're on vB 3.6.x

5. If you just upgraded to vB 3.5.x/3.6.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

Hannan
Sat 9th Feb '08, 1:28am
Thank you eva for the configuration,
My problem is often I wanna send or edit some posts it's getting too long or sometimes its give me this error:
Fatal error: Maximum execution time of 60 seconds exceeded in.... core.php...but there is not many user or cpu usage is high.
honesty its slow for sending posts particularly for long texts
any suggestion for this problem??!
My language is Persian it's like Arabic and I just two week ago converted my forum from phpnuke to vbulletin

Hannan
Sat 9th Feb '08, 6:36am
Today site getting down:( 70 users was online. before I worked with phpbb I haven't problem with this: "no cpu and memory usage but it's too slow and getting down" also it was send me several message like this:

Database error in vBulletin :

mysql_connect() [<a
href='function.mysql-connect'>function.mysql-connect</a>]: Can't create a new thread (errno 12); if you are not out of
available memory, you can consult the manual for a possible OS-dependent
bug
C:\Inetpub\vhosts\******\subdomains\forum\httpdocs \includes\class_core.php
on line 274

MySQL Error :
Error Number :
Date : Saturday, February 9th 2008 @ 10:04:47 AM
Script : http://**********.com/login.php?do=lostpw
Referrer : http://*****.com/register.php?do=addmember
IP Address : **********
Username :
Classname : vB_Database

eva2000
Sun 10th Feb '08, 9:02am
how is your memory usage ?

did you upgrade to mysql 5.0.45/51 ?

try reducing xcache.size in php.ini from 64M to 32M and change xcache.count from 1 to 2

Also raise php.ini max_execution time from 60 seconds to 90 seconds and restart apache and see how it goes.

Hannan
Tue 12th Feb '08, 3:11am
how is your memory usage ?

did you upgrade to mysql 5.0.45/51 ?

try reducing xcache.size in php.ini from 64M to 32M and change xcache.count from 1 to 2

Also raise php.ini max_execution time from 60 seconds to 90 seconds and restart apache and see how it goes.

Its about 800mb to 1100mb

yes, its 5.0.45

I did try these things I think its little bit faster but still too slow. for example its taking 1 minute to change the page.

eva2000
Wed 13th Feb '08, 4:36am
checked your forums and pages click through pretty quickly most of the time but i did notice your page source code has alot more javascript embedded than standard vB default code ? try removing the excess javascript code and set CSS as file instead within the page and see what happens.