3 ms·
My issue with the post: it doesn't actually go into how it is serving up dynamic content. Sure, Nginx is used as the front-end webserver, but PHP still needs t
by kyrra 13y ago
My issue with the post: it doesn't actually go into how it is serving up dynamic content. Sure, Nginx is used as the front-end webserver, but PHP still needs to be executed. The popular ways I've seen are either Apache (with a very small max child process count), or php-fpm.
Also, it's pretty well known that Wordpress is a dog in its standard configuration. Using some sort of caching mechanism is required if you have any kind of traffic to the site (some like W3 Total Cache).
While there are fun benchmarking services like the blitz.io and LoadImpact.com, you can normally get a pretty good feel for how your site will do under a load using "ab" (apache benchmark) from your local machine. This will at least let you test dynamically generated pages to make sure caching is working properly. Plus using some like Google PageSpeed to verify browser caching is properly being enabled by your webserver.
- luxpir 13y agoIt's php-fpm, kyrra. Those processes are somewhat more resource-intensive! I've tried to reduce php calls with the caching, plugin minimalism etc. Thanks for the ab tip.
- kyrra 13y agoIf you want to get even a little more performance out of it, look into PHP APC (alternative PHP cache). You can configure W3 Total Cache (or similar plugins) to store their cached files within APC (which will be in-memory). Though, since the cache files on disk will be already cached in memory, this may not be all that much faster. APC is a nice alternative to dealing with something like memcache (since you are working on a smaller scale).
- Gigablah 13y agoAnd if you want even more performance, try replacing php-fpm with HHVM.
- bradleyland 13y agoAgree 100% with most of what you've said, but I know this bit to be false: > ...you can normally get a pretty good feel for how your site will do under a load using "ab" (apache benchmark) from your local machine. A single web server can easily out-serve the vast majority of internet connections you get at a home or office. I have 35 mbps down, 5 mbps up, and I can saturate my link (usually uplink) well before our web/app servers choke up. If you're testing a VPS at a provider like DO, you can spin up the cheapest Droplet in the same datacenter, then use it to test. Run your benchmarks in one shell session, while keeping another open with iptraf running to make sure you're not running in to network overhead. I know this sounds like overkill, and you qualified with "pretty good feel", which could very well mean "find out if your web server falls over at 10 concurrency", but it's always amazing to me how quickly bottlenecks creep in and muck up benchmarking results.