PDA

View Full Version : Server Optimization: Help


silvrhand
Thu 22nd Jun '06, 6:20pm
Can someone point me to helping optimize this query or tell me where it is coming from, query is listed below all of the system information:

System Information:

Dual Xeon 2.8GHZ 2G RAM
3x73G RAID5 partition
Redhat ES4
Apache 2.0.52/PHP 4.3.9

[root@240z mysql]# mysqlreport --all
MySQL 4.1.7-log uptime 0 1:0:21 Thu Jun 22 13:58:29 2006

__ Key __________________________________________________ _______________
Buffer usage 68.73M of 256.00M %Used: 26.85
Write ratio 0.60
Read ratio 0.00

__ Questions __________________________________________________ _________
Total 417.78k 115.38/s
QC Hits 148.79k 41.09/s %Total: 35.61
DMS 138.50k 38.25/s 33.15
Com_ 65.44k 18.07/s 15.66
COM_QUIT 65.06k 17.97/s 15.57
-Unknown 3 0.00/s 0.00
Slow 135 0.04/s 0.03 %DMS: 0.10
DMS 138.50k 38.25/s 33.15
SELECT 80.56k 22.25/s 19.28 58.17
UPDATE 47.85k 13.22/s 11.45 34.55
INSERT 7.38k 2.04/s 1.77 5.33
REPLACE 1.64k 0.45/s 0.39 1.19
DELETE 1.06k 0.29/s 0.25 0.77
Com_ 65.44k 18.07/s 15.66
change_db 65.16k 17.99/s 15.60
show_tables 117 0.03/s 0.03
set_option 60 0.02/s 0.01

__ SELECT and Sort __________________________________________________ ___
Scan 6.35k 1.75/s %SELECT: 7.88
Range 17.88k 4.94/s 22.19
Full join 10 0.00/s 0.01
Range check 0 0.00/s 0.00
Full rng join 0 0.00/s 0.00
Sort scan 3.20k 0.88/s
Sort range 20.30k 5.60/s
Sort mrg pass 4 0.00/s

__ Query Cache __________________________________________________ _______
Memory usage 38.18M of 128.00M %Used: 29.83
Block Fragmnt 5.36%
Hits 148.79k 41.09/s
Inserts 80.17k 22.14/s
Prunes 1 0.00/s
Insrt:Prune 80.17k:1 22.14/s
Hit:Insert 1.86:1

__ Table Locks __________________________________________________ _______
Waited 1.69k 0.47/s %Total: 0.67
Immediate 249.22k 68.83/s

__ Tables __________________________________________________ ____________
Open 1.05k of 2500 %Cache: 42.08
Opened 1.06k 0.29/s

__ Connections __________________________________________________ _______
Max used 251 of 400 %Max: 62.75
Total 65.07k 17.97/s

__ Created Temp __________________________________________________ ______
Disk table 1.50k 0.41/s
Table 2.66k 0.73/s
File 8 0.00/s

======================================
my.cnf file

[mysqld]
log-slow-queries = /var/log/mysql/mysql-slow.log
long_query_time = 5
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
old_passwords=1
skip-locking
skip-innodb
skip-name-resolve
max_connections = 400
key_buffer = 256M
join_buffer_size = 8M
sort_buffer_size = 2M
read_buffer_size = 4M
read_rnd_buffer_size = 1M
table_cache = 2500
thread_cache_size = 384
thread_concurrency=4 # Try number of CPU's*2
connect_timeout = 10
tmp_table_size=128M

max_allowed_packet = 64M
max_connect_errors = 10

query_cache_limit = 8M
query_cache_size = 128M
query_cache_type = 1
query_prealloc_size = 16384
query_alloc_block_size = 32780

wait_timeout = 15
connect_timeout = 10



# Query_time: 63 Lock_time: 57 Rows_sent: 1 Rows_examined: 393
SELECT COUNT(*) AS threads,
SUM(IF(thread.lastpost >= 1150997545 AND open <> 10, 1, 0)) AS newthread

FROM thread AS thread

WHERE forumid = 51
AND sticky = 0
AND visible = 1

AND thread.lastpost >= 1148417025;
# User@Host: root[root] @ localhost []
# Query_time: 35 Lock_time: 29 Rows_sent: 1 Rows_examined: 0
SELECT
userfield.*, usertextfield.*, user.*, UNIX_TIMESTAMP(passworddate
) AS passworddate,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS display
groupid,
language.phrasegroup_forumdisplay AS phrasegroup_forumdisplay,
language.phrasegroup_inlinemod AS phrasegroup_inlinemod,
language.phrasegroup_global AS phrasegroup_global,
language.options AS lang_options,
language.languagecode AS lang_code,
language.charset AS lang_charset,
language.locale AS lang_locale,
language.imagesoverride AS lang_imagesoverride,
language.dateoverride AS lang_dateoverride,
language.timeoverride AS lang_timeoverride,
language.registereddateoverride AS lang_registereddateoverride,
language.calformat1override AS lang_calformat1override,
language.calformat2override AS lang_calformat2override,
language.logdateoverride AS lang_logdateoverride,
language.decimalsep AS lang_decimalsep,
language.thousandsep AS lang_thousandsep

FROM user AS user
LEFT JOIN userfield AS userfield ON (user.userid = userfield.userid)
LEFT JOIN usertextfield AS usertextfield ON (usertextfield.userid = user.
userid) INNER JOIN language AS language ON (language.languageid = IF(user.languageid = 0,
1, user.languageid))

WHERE user.userid = 58872;

silvrhand
Fri 23rd Jun '06, 4:41pm
Update MysqlReport after server has been running longer:

[root@240z ~]# mysqlreport -all
MySQL 4.1.7 uptime 0 22:35:37 Fri Jun 23 12:40:40 2006
__ Key __________________________________________________ _______________
Buffer usage 226.52M of 256.00M %Used: 88.49
Write ratio 0.71
Read ratio 0.00
__ Questions __________________________________________________ _________
Total 5.99M 73.58/s
QC Hits 2.19M 26.97/s %Total: 36.65
DMS 1.90M 23.38/s 31.77
Com_ 945.87k 11.63/s 15.80
COM_QUIT 943.85k 11.60/s 15.77
+Unknown 20 0.00/s 0.00
Slow 103 0.00/s 0.00 %DMS: 0.01
DMS 1.90M 23.38/s 31.77
SELECT 1.09M 13.42/s 18.23 57.39
UPDATE 679.78k 8.36/s 11.36 35.75
INSERT 103.92k 1.28/s 1.74 5.46
DELETE 13.40k 0.16/s 0.22 0.70
REPLACE 13.18k 0.16/s 0.22 0.69
Com_ 945.87k 11.63/s 15.80
change_db 945.84k 11.63/s 15.80
show_variab 12 0.00/s 0.00
show_status 7 0.00/s 0.00
__ SELECT and Sort __________________________________________________ ___
Scan 91.95k 1.13/s %SELECT: 8.43
Range 255.97k 3.15/s 23.46
Full join 116 0.00/s 0.01
Range check 0 0.00/s 0.00
Full rng join 0 0.00/s 0.00
Sort scan 45.84k 0.56/s
Sort range 258.25k 3.18/s
Sort mrg pass 80 0.00/s
__ Query Cache __________________________________________________ _______
Memory usage 79.10M of 128.00M %Used: 61.80
Block Fragmnt 15.93%
Hits 2.19M 26.97/s
Inserts 1.09M 13.36/s
Prunes 23.00k 0.28/s
Insrt:Prune 47.27:1 13.08/s
Hit:Insert 2.02:1
__ Table Locks __________________________________________________ _______
Waited 16.82k 0.21/s %Total: 0.48
Immediate 3.48M 42.74/s
__ Tables __________________________________________________ ____________
Open 2.37k of 2500 %Cache: 94.84
Opened 2.38k 0.03/s
__ Connections __________________________________________________ _______
Max used 255 of 400 %Max: 63.75
Total 944.13k 11.61/s
__ Created Temp __________________________________________________ ______
Disk table 18.93k 0.23/s
Table 35.65k 0.44/s
File 160 0.00/s

eva2000
Mon 26th Jun '06, 8:02am
1. Upgrade MySQL server to 4.1.20 http://www.vbulletin.com/forum/showthread.php?t=186856
2. Upgrade PHP to 4.4.2 and Apache to 2.0.58
3. Edit /etc/my.cnf and place the following mysql server settings in /etc/my.cnf and restart mysql server afterwards


[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
safe-show-database
back_log = 75
skip-innodb
max_connections = 500
key_buffer = 288M
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 = 15
connect_timeout = 10
tmp_table_size = 256M
max_heap_table_size = 256M
max_allowed_packet = 64M
max_connect_errors = 10
read_rnd_buffer_size = 524288
bulk_insert_buffer_size = 8M
query_cache_limit = 8M
query_cache_size = 128M
query_cache_type = 1
query_prealloc_size = 163840
query_alloc_block_size = 32768
default-storage-engine = MyISAM

[mysqld_safe]
nice = -5
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. Install APC Cache lastest version from http://pecl.php.net/package/APC. Read install guide at http://www.vbulletin.com/forum/showthread.php?t=165367 - please remove Zend Optimizer from php.ini before installing APC Cache

5. Upgrade to vB 3.0.14 http://www.vbulletin.com/forum/showthread.php?t=183331 if you're on vB 3.0.xx or upgrade to vB 3.5.4 http://www.vbulletin.com/forum/showthread.php?t=176170 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