VPS & Dedicated Hosting: Site Performance Essentials & Tips
Before you start, measure its current speed at PageSpeedGrader; just the total number of seconds.
- Unsupported Suggestions
- P.S. How do you check what happened in the past?
- P.P.S. Search what others have done
Write down the time.
- Tune your CMS site (WordPress, Joomla, etc.)
- Temporarily deactivate ALL Plugins/Modules/Addons.
- Retime your site at PageSpeedGrader
- Write it down.
- Install a Plugin/Module/Addon that does "caching":
- Reactivate one of the other plugins/modules. Retime it with PageSpeedGrader and write it down.
- Disable that one plugin/module and then enable the next one that you were using. Retime it with PageSpeedGrader and write it down.
- Keep on doing that. You'll usually find one that takes significantly more time than the others. In rare cases, it's a combination of two. Then find a replacement plugin/module that isn't so resource-intensive.
- On WordPress, do the same series of time measurements with any Widgets.
- PHP FastCGI(fcgi) Handler:
- Login to your WHM.
- Go to Configure PHP & Suexec (there's a search box at the top left of WHM).
- Then change the "Handler" to "fcgi" and click the button to submit.
- Use a CDN (Content Delivery Network)!
Cloudflare is our favorite @ https://www.cloudflare.com/sign-up. It's free for http:// sites.
- Then after it's turned on, time it at PageSpeedGrader.
Please understand that the recommendations below are outside the scope of our support. If you have further questions on them, you'll need to do research online; We can not help.
What we are doing is pointing you in the right direction by giving you the many pieces of information that we have found to be helpful.
- Use a PHP cache module such as Xcache or eAccelerator:
You'll want to research them before trying them:
Try this at a time when you can most afford for your website to be down, just in case there's a problem.
- WHM => search for EasyApache and click on that.
- Wait for that to load.
- At the bottom of the Step 1 page, click "Start customizing based on profile."
- On Steps 2 and 3, click "Next Step." You don't have to do anything else other than click "Next Step" on each.
- On Step 4, Short Options => check the checkbox for the one that you want -- for example, "Xcache for PHP" => scroll down, click Save & Build.
- After it's turned on, time it at PageSpeedGrader.
- Tune the MySQL database server settings in /etc/my.cnf. You can edit this file via SFTP using any SFTP program, like Filezilla (username root and port 22).
Some places to learn about my.cnf optimization are:
- Time your site again at PageSpeedGrader.
- Tune the Apache webserver.
- One idea is using ApacheBuddy
- Try the various MPM modules listed in Easy Apache => Exhaustive Options. There are "More Info" links next to each module.
- Load test your site using Siege or ab - Apache HTTP server benchmarking tool. Load testing will help you discover how many connections you can handle.
- Time it again.
- Buy additional RAM or CPU cores.
Check the website and server logs:
The last log can be downloaded with an SFTP program, like Filezilla, using the username of root and port 22.
Also, the `sar` shell command is good for history.
This command can be run via SSH from your main cPanel username or as root.
sar -r is also good for looking at RAM usage history.
You can see what others are doing to optimize their servers at https://forums.cpanel.net/tags/optimization/.
http://forums.cpanel.net/f34/troubleshooting-high-server-loads-linux-servers-319352.html is only one of many examples found on the Optimization forum.)