What is the optimal server software for WordPress, XenForo (Forum), Moodle, and MediaWiki?

August 31, 2013 5.8k views
Hi, I'm just learning how to optimize my droplet. Please feel free to provide advice, links, etc. My droplet operates but varnishstat shows a hitrate average of zero. Cloudflare is showing over 6K+ unique visitors in the past four days. Top shows up to 50% or greater CPU usage every 1/2 hour. My reverse proxy is not working; that is, it shows in XenForo ... but I can use the WordPress plugin login attempts and click reverse proxy and get the correct IP. When the droplet is booting there is an red fail - but I don't know how to read what is failing. After optimizing mysql using mysqltuner.pl then the site pages load very quickly BUT after some time then the pages served are blank. A restart of apache2 fixes this temporarily. These are installed. Apache APC memcached mysql Nginx PHPMyAdmin Varnish How do I check if varnish is even installed properly since varnishstat is showing zero? Should varnish be removed? Do you believe this is the culprit of the blank pages?
7 Answers
What size is your droplet? I have a feeling programs are running out of memory and crashing. Check the error logs -- do you see anything?
Thanks for the reply. I have the 4 core, 8 GB. After trying a bunch of different configurations, and messing things up, I'm recreating the droplet right now from an image but stepping it down to a 2 cores, 4 GB.

Creating the droplet is taking a long time. Anyway - back to my questions - should varnish even be installed? It doesn't seem to be working.
Varnish was not installed properly. Used sample VCL from http://serverfault.com/questions/372290/why-am-i-getting-a-low-cach-hit-rate-average-in-varnish

Now varnishstat shows

Hitrate ratio: 10 100 108
Hitrate avg: 0.2350 0.2545 0.2550
8GB should be enough. Seems like Varnish was the issue.

Is it working well now?

Thanks for hanging in there. I'm figuring out that APC and Varnish were not set properly so they now work. Varnishstat shows hits and APC status page shows 100% hits. Unfortunately .... there is a spike every 1hour which causes huge problem.

I'm trying to install server-status module right now so that I can see what is happening. Nothing is showing in the error logs. I've been watching with top and it is definitely from www-data. Unfortunately browser is redirected to root whenever I go site.com/server-status.

I think this is due to the reverse proxy not being set properly ... dunno because I'm still learning. But the IP I am accessing from is definitely set in the mod properly.

Another possibility for the spikes is garbage collection or reports. I'm seeing this in crontab.

crontab shows:
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
I think the original question is a good one - what's the best practice setup for a particular objective? and...far be it from me to tell you how to run your business....but, you'll find some of your competition will offer "deployment scripts" as part of their (otherwise pretty similar) offerings. if it's $10/month or whatever to host, but you spend 4 hours setting up (whereas on another host a script or two does most of this work) then the price advantage is gone.

anyway, yes, I'm asking the same questions....what are the best practices for a particular objective, e.g. wordpress with mail, ftp, etc. you do have the answers to these questions but...if you looked at your customer base you'd probably find 60% want to install wordpress or joomla with mail and ftp...so a single 1,2,3 best practice instruction set (and or some scripts) would really put DO out ahead the very best solutions.
"... you'll find some of your competition will offer "deployment scripts" as part of their (otherwise pretty similar) offerings."

Like who? Why settle for deployment scripts? Why not use a configuration-management tool like Puppet? See How To Install Puppet on a DigitalOcean VPS.
by Pablo Carranza
Here's how to install Puppet, a cross-platform framework that enables system administrators to perform common tasks, on your DigitalOcean VPS.
Have another answer? Share your knowledge.