Ghost Blog from WordPress
Table of Contents
WordPress - King of Blog for the Mass
WordPress is a very powerful and mature blogging platform, and many companies and organizations use it for their official website.
Ghost - New Kids On The “Blog”
What make Ghost attractive for me?
Ghost, as a NodeJS application, is a web server by itself, that eliminated the needed for standalone web server like Lighttpd or apache. Besides MySQL, it also support sqlite3, an embedded light weight database library. I don't need standalone database.
And again, numbers talk …
Lets see the different between Ghost and WordPress in terms of system resources. Numbers are captured right after a fresh start up of all related processes.
|0.0||0.0||5.96Mb||0.67Mb||logger -t mysqld -p daemon.error|
|0.3||1.7||298.71Mb||17.77Mb||php-fpm: master process|
|0.0||0.5||298.71Mb||5.89Mb||php-fpm: pool (1/2)|
|0.0||0.5||298.71Mb||5.89Mb||php-fpm: pool (2/2)|
Beyond the Numbers
WordPress requires full LAMP stack, database(MySql/MariaDB), web server (Lighttpd, or more commonly Apache, which use even more resource).
The resource difference may not be that impressive in tables above. However, base on my own observation, Lighttpd and php-fpm tend to hold on a bit more memory over time. Additionally, memory usage reported by
free is much higher before the switch, 500Mb+(before) vs 235Mb(now).
I customized Ghost index.js to support HTTPS with a single node instance, which is not official supported by the Ghost development team. I will talk about it in a later post. ↩︎
Number of processes for MySQL depends on setup, it can be reduced to one. PHP-FPM pool can be reduced to one, I choose to use two. It can be completely eliminated if cgi mode is used in Lighttpd. In Apache, mod_php embedded the php interpreter within Apache process, but Apache itself use more resources than Lighttpd. ↩︎