Anyway, calling wordpress or drupal "high performance" is a joke.
Anyway, calling wordpress or drupal "high performance" is a joke.
As part of my day job we regularly deploy Wordpress sites that efficiently handle hundreds of thousands of page views per day (and yes I realize that's not HUGE but it's not trivial either) and we do it on cheap hardware that would barely run the stock JVM, let alone an actual Java app server.
"High performance" is relative to your costs & needs, and it's all about using the right tool for the job. If you know how to configure and optimize PHP applications properly, you can make them extremely performant.
Either way, it seems you're arbitrarily ignoring whole classes of apps or languages because of some outdated bias (that i bet you just accepted from others and never tested yourself), so you're obviously not interested in an objective discussion.
I run two stock JVM instances and Redis on a $10 DO VPS that serves ~700k pageviews per day
> arbitrarily ignoring whole classes of apps or languages because of some outdated bias (that i bet you just accepted from others and never tested yourself)
hmm
I'll admit that my experience with Java web apps was never against bare JVMs, but against app servers (Liferay, etc). How common is it for people to roll their own no-framework bare web apps in Java?
In case you're not familiar with it, Dropwizard is a collection of libraries packaged up with some conventions and glue; it uses Jetty to serve HTTP and also integrates Jersey and Jackson (RESTful routing and JSON encoding) so that you don't have to do it yourself.
Well, these two platforms are by far the leader in the CMS space. It's either usability, ease of administration or speed that keeps people using WP/Drupal over alternatives in other languages/frameworks.
I've never worked with a CMS or web app - in any language - that didn't include caching as a core part of the performance layer once it reaches a certain amount of load..
I'm sure it's possible, with enough money to throw at hardware, to scale without it, but why would you? Caching is a completely valid optimization approach in my view..
Both can be plugged into memcache and friends, and if done right you can put in Cloudflare or other frontend caching systems in front.
Biggest performance +1, though, is enabling php opcache.
We should not be needing bare metal servers with 4 GHz CPUs to serve a non-interactive site with ~4000 visitors a day. Yet, without full-page caching (i.e., bypass Wordpress/PHP entirely and serve .html files straight from nginx), the servers would melt under the load.
Rendering twenty images and forty text fields out of database should not take several seconds on a modern server. Yet, Wordpress has no problems taking a dozen seconds even under light load conditions – mind you, that's time purely spent in PHP, for rendering, not on the database.
I'm not making any specific value statement about your setup here, I'm just surprised by what you're seeing on your end.
Sidenote: why doesn't the mysqld configure script suggest various performance levels upon setup, based on detected hardware (RAM, disk, CPU cores)?
Still, we're usually seeing a lot better performance with everything that's not wordpress – be it our in-house PHP framework, or node, Rails or Python apps.