Kevin Pirnie' Articles

In part I, I walked you through my server setup to achieve a 1 second load time for my site.  It is a Wordpress site, with a custom theme I developed. I gandered at the possibility of by-passing Wordpress's front-end engine, however, I found myself needing some of the built-in functionality Wordpress offers.  Items like custom posts, pages, and even posts are simple sql queries, however; widgets, shortcodes, and most plugins then become unavailable. So, I delved into the realm of research and found Wordpress core functionality offered the functionality I required, with very little performance hit; so I decided to simply extend some memcached functionality when pulling my pages/posts/widget/etc... The only thing I found that I lost was time, and in the end drastically improved the… Read More
I have successfully managed to get around a 1 second load time on my Wordpress site, While getting 250 concurrent users over a 1 minute test period.  (Source: https://webpagetest.org/result/210128_Di26_15d11aa18013d1df9ebc867e1aa9c2f3/) This was done with a combination of items, stemming from the server install up to Wordpress theme development.  Here is how I did it, so maybe you can too. Server Setup Here we will start from the ground up.  Items you will need: VirtualBox, Ubuntu 16.04 64b Server ISO, Time My virtual machine is setup with 4G of RAM, using 2 CPU's, with 80G SSD, and a Bridged Networking adapter Boot to the ISO, and start the installation process.  Everything can be setup how you wish, however, I custom partitioned, as well as, only installed the… Read More
Install & Configure Nginx on Existing Cpanel Servers cd /usr/local/src wget http://nginxcp.com/latest/nginxadmin.tar tar xf nginxadmin.tar cd publicnginx ./nginxinstaller install Once installation completes, login to WHM for that server Scroll past ConfigServer Security&Firewall to see Nginx Admin and click it Add the 0 */1 * * * /usr/sbin/tmpwatch -am 1 /tmp/nginx_client to crontab -e on the server Click 'Configuration Editor' Copy/Paste into the field user nobody; # no need for more workers in the proxy mode worker_processes 4; error_log /var/log/nginx/error.log warn; worker_rlimit_nofile 20480; events { worker_connections 5120; # increase for busier servers use epoll; # you should use epoll here for Linux kernels 2.6.x } http { server_name_in_redirect off; server_names_hash_max_size 10240; server_names_hash_bucket_size 1024; include mime.types; default_type application/octet-stream; server_tokens off; # remove/commentout disable_symlinks if_not_owner;if you get Permission denied error # disable_symlinks if_not_owner;… Read More
Do it Because They Do WordPress.com is the cloud version of WordPress that is hosted and supported by Automattic.WordPress.com serves more than 33 million sites attracting over 339 million people and 3.4 billion pages each month. Since April 2008, WordPress.com has experienced about 4.4 times growth in page views. WordPress.com VIP hosts many popular sites including CNN’s Political Ticker, NFL, Time Inc’s The Page, People Magazine’s Style Watch, corporate blogs for Flickr and KROQ, and many more. Automattic operates two thousand servers in twelve, globally distributed, data centers. WordPress.com customer data is instantly replicated between different locations to provide an extremely reliable and fast web experience for hundreds of millions of visitors. Problem WordPress.com, which began in 2005, started on shared hosting, much like all of the WordPress.org sites. It was… Read More
Post revisions This is a weakness of WordPress. On this site there are over 30,000 revisions for the 14,000 posts. That makes the table bigger and it's slower to search in it. WordPress users realized this three years ago. Tip #1 We backed up the the wp_posts table and then used a simple MySQL command to remove old post revisions. This decreased the table size from 400MB to 120MB: DELETE FROM `wp_posts` WHERE post_type = 'revision' AND post_date NOT LIKE '2012-%' Long-term solution There are WordPress plugins which can limit the number of revisions per post. We think that the WordPress code should be improved and the revisions should be stored in a different table to maximize speed. You can support this on WordPress bug… Read More