Performance / Optimization
Two MySQL tuner scripts
MySQLTuner (Perl) and MySQL Performance Tuning Primer (Shell) are two scripts that can help diagnose MySQL database performance issues, and provide recommendations on how to solve them. While both scripts output similar information, the diagnosis can be slightly different with each script, so I like to use both. Below are directions on how to use them, as well as a few screenshots.
# Download MySQLTuner and MySQL Performance Tuning Primer to ~/scripts. # To avoid having to invoke Perl/SH each time, make both files executable. chmod +x ~/scripts/mysqltuner.pl chmod +x ~/scripts/tuning-primer.sh # After that, give them a go! ~/scripts/mysqltuner.pl ~/scripts/tuning-primer.sh
Today, I decided to implement a popular distributed caching system called memcached. Memcached allows PHP objects and variables to be stored in memory, which when used properly, can decrease page load time and server load. Memcached can also work as a central cache for a cluster of servers. File-based caching systems work by generating static files, and storing them in a local directory to be served in place of the dynamic content. This can reduce the number of database queries, and help avoid having to process the script with each new request; however, there is a downside. Read the rest of this entry »