Wordpress – Mysql Performance tuner, a free Good Optimizer

Posted by Jiltin     30 July, 2009    4,274 views   

mysql_letters_computer.jpgEven after upgrade of my server to poweredge with quad core and 8GB memory, I did not see any improvement on my blog performance. In my new server, I have also installed a trial oracle applications and noticed a substantial performance in oracle applications response while it was developed over high memory hog java! As an expert in oracle applications and its architecture, it took no minute to understand that I need to look at the performance tuning of my blog on the LAMP components such as mysql, apache and php. I did some Google search and got it tuned Mysql using MySQLTuner, a great free perl script that quickly tells a layman, like me, what to do. To my surprise, I did see an excellent improvement on my blog response time, you too see the difference now!! Great Tool.

MySQLTuner is a high-performance MySQL tuning script written in perl that will provide you with a snapshot of a MySQL server’s health. Based on the statistics gathered, specific recommendations will be provided that will increase a MySQL server’s efficiency and performance. The script gives you automated MySQL tuning that is on the level of what you would receive from a MySQL DBA.

How to get, Install and use it? Just follow the steps:

# wget http://mysqltuner.com/mysqltuner.pl
# chmod +x mysqltuner.pl
# ./mysqltuner.pl
MYSQL Tuner Results
>> MySQLTuner 1.0.0 – Major Hayden
>> Bug reports, feature requests, and downloads at http://mysqltuner.com/
>> Run with ‘–help’ for additional options and output filtering
Please enter your MySQL administrative login: secret
Please enter your MySQL administrative password: more secret
——– General Statistics ————————————————–
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.0.45
[OK] Operating on 64-bit architecture

——– Storage Engine Statistics ——————————————-
[--] Status: -Archive +BDB -Federated +InnoDB -ISAM -NDBCluster
[--] Data in MyISAM tables: 63M (Tables: 244)
[--] Data in InnoDB tables: 43M (Tables: 57)
[!!] BDB is enabled but isn’t being used
[!!] Total fragmented tables: 12

——– Performance Metrics ————————————————-
[--] Up for: 7h 28m 16s (179K q [6.664 qps], 5K conn, TX: 1B, RX: 31M)
[--] Reads / Writes: 76% / 24%
[--] Total buffers: 722.0M global + 28.2M per thread (100 max threads)
[!!] Maximum possible memory usage: 3.5G (89% of installed RAM)
[OK] Slow queries: 0% (0/179K)
[OK] Highest usage of available connections: 30% (30/100)
[OK] Key buffer size / total MyISAM indexes: 512.0M/36.5M
[OK] Key buffer hit rate: 99.6% (1M cached / 6K reads)
[OK] Query cache efficiency: 66.7% (99K cached / 148K selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 9K sorts)
[!!] Joins performed without indexes: 324
[OK] Temporary tables created on disk: 15% (2K on disk / 14K total)
[OK] Thread cache hit rate: 99% (30 created / 5K connections)
[!!] Table cache hit rate: 18% (256 open / 1K opened)
[OK] Open file limit used: 8% (339/4K)
[OK] Table locks acquired immediately: 99% (72K immediate / 72K locks)
[OK] InnoDB data size / buffer pool: 43.3M/64.0M

——– Recommendations —————————————————–
General recommendations:
Add skip-bdb to MySQL configuration to disable BDB
Run OPTIMIZE TABLE to defragment tables for better performance
MySQL started within last 24 hours – recommendations may be inaccurate
Reduce your overall MySQL memory footprint for system stability
Enable the slow query log to troubleshoot bad queries
Adjust your join queries to always utilize indexes
Increase table_cache gradually to avoid file descriptor limits
Variables to adjust:
join_buffer_size (> 8.0M, or always use indexes with joins)
table_cache (> 256)

Following Google Searches Lead To This Post:
mysql response time 1000 visitors
wordpress slow performance

Post to Twitter  Post to Delicious  Post to Digg    Post to StumbleUpon

Categories : MySQL, Web & Scripts, wordpress Tags : ,

Comments

No comments yet.


Leave a comment

(required)

(required)