The predominant “web server software” used for WordPress sites are Apache and nginx. [1. tech discussion: Apache launches a new thread (a “program”) in server memory for every incoming page and object requested by your site visitors. This can rapidly clog the server’s memory as the number of requests per second increases. nginx initially launches a number of threads and then dispatches page/object requests to them for service—properly configured it doesn’t bloat up and fill memory.] Generally on smaller servers nginx will be more efficient because it doesn’t gobble memory like Apache does. The question of which web server software to use hinges primarily on the CPU power and memory resources that are required on the server side to make your site run properly.
If your web site requires a lot of CPU time to generate pages, then nginx may not hold any advantage for you. [2. I define “A lot” as more than a second.]. You can test to see what your page-generation time is using webpagetest.org — and what you want to look at is the bar that shows how much time elapsed between the browser’s request and the delivery of the first byte of the page. The time it takes to serve that first HTML file is pretty much composed of CPU and MySQL (database) time. If the time between the HTTP request for the page and the first byte served is long (a couple of seconds) then your site is probably too CPU-intensive and nginx may not help you out very much.
That said, more and more people are moving toward specialized WP-hosting, where they don’t have to worry about what web server is used at all. And within a few years this may be a moot point, as nobody may be self-hosting their own WP any more!
Footnotes:
Leave a Reply