Posted on August 4, 2022Categories AWS, Databases, RDS, TechnologyTags , , , , , , ,   Leave a comment on Aurora MySQL Storage Monitoring & Reduction

Aurora MySQL Storage Monitoring & Reduction

Using Aurora MySQL is a great way to host a MySQL database at low cost while providing a scalable and fault tolerant environment. Once you’ve setup your multi-zone cluster AWS takes care of much of the scaling for the database server. One of the components it manages automatically is the volume, or disk storage, up to a maximum of 128TB. However, this does not mean volume storage is fully managed. All AWS RDS implementations have several components that can impact … Continue reading “Aurora MySQL Storage Monitoring & Reduction”

Posted on February 25, 2019Categories Networks, PHP, TechnologyTags , , 1 Comment on High Volume Tuning PHP FPM on nginx

High Volume Tuning PHP FPM on nginx

As the My Store Locator Plus® service continues to grow we are finding it more important than ever to fine tune our web server and PHP processes to better serve the larger data and network demands. A recent review of performance showed process timeouts happening during large data imports and side-loading; especially when the read and write endpoints hit the same server node. Here are some things we did to improve performance. Get off faux sockets PHP FPM is typically … Continue reading “High Volume Tuning PHP FPM on nginx”

Posted on May 15, 2018Categories Plugin Development, WordPressTags , , , 3 Comments on Why WordPress REST Performance Sucks

Why WordPress REST Performance Sucks

WordPress REST performance sucks.   There, I said it.    Not because I dislike WordPress — in fact I think it is the best open source web application we have seen thus far.    It is a great piece of technology.    It even has the potential to be a great web application framework — in fact I use it for the Store Locator Plus managed service, MySLP. However, unless you are in 100% complete control of every component in the … Continue reading “Why WordPress REST Performance Sucks”

Posted on March 23, 2018Categories WordPressTags , , , , 1 Comment on Redis Object Cache 1.3.6/1.3.7 Takes Down WordPress Sites

Redis Object Cache 1.3.6/1.3.7 Takes Down WordPress Sites

If you are using Redis to boost your WordPress data I/O performance you are likely using one of the most popular Redis plugins available: Redis Object Cache by Till Krüss Even season veterans such as Till cannot escape the millions of combinations of site installs that may create corner cases that break software.    Something in the latest 1.3.6/1.3.7 updates to his plugin, or possibly changes to WordPress, or changes to the underlying operating systems or PHP have broken the Redis … Continue reading “Redis Object Cache 1.3.6/1.3.7 Takes Down WordPress Sites”

Posted on February 8, 2018Categories PHP, Programming, WordPressTags , , , , 1 Comment on Improving wp_delete_post in WordPress Core

Improving wp_delete_post in WordPress Core

One of the common processes that runs in Store Locator Plus is deleting locations.    For sites with a few dozen locations the process runs smoothly.  For sites with thousands of locations but deleting one or two at a time, not a big deal.   But for sites that are deleting tens-of-thousands of locations at a time the process becomes painfully slow.   A mere 2,500 locations can take up to a full minute to be removed on a fairly … Continue reading “Improving wp_delete_post in WordPress Core”

Posted on February 7, 2018Categories JavaScript, Programming Languages, TechnologyTags , , , , ,   Leave a comment on Optimizing JavaScript for Chrome

Optimizing JavaScript for Chrome

A recent discussion with a tech guru at Automattic posed a great question — how does JavaScript asynchronous processing work on a single-threaded app?  Great question, but before I found out how that worked I decided to refresh my knowledge on how JavaScript manages the call stack.   Turns out a LOT has changed in 10 years and it turns out Google’s V8 engine was launched. What is V8? V8 was very likely a result of Google Maps.    Google … Continue reading “Optimizing JavaScript for Chrome”

Posted on December 16, 2017Categories UncategorizedTags , , , , , , ,   Leave a comment on Profile WordPress Cron Jobs With VVV

Profile WordPress Cron Jobs With VVV

I recently found that I needed to Profile WordPress Cron to figure out the best way to improve the processing time on background file imports. In an effort to better handle on large location imports in Store Locator Plus, I re-architected the Power add on to split the process into 3 steps.   The first step uploads the file to the server; something that is typically fairly fast and only ties up a user’s web browser for a few minutes … Continue reading “Profile WordPress Cron Jobs With VVV”

Posted on August 17, 2017Categories Development, PHP, Programming Languages, Technology, Uncategorized, WordPressTags , , , , , ,   Leave a comment on PHP Autoload and Singleton(ish) Model

PHP Autoload and Singleton(ish) Model

Once every couple of years I take a month off from hacking away at the Store Locator Plus products and delve into some personal projects.  It is a way to learn some new things and try out new techniques without breaking the locator product.   With the locator being my primary source of income these days it is important to keep that intact while “trying new things”. Some of the things I’ve been working on this week include Backbone, Bootstrap, … Continue reading “PHP Autoload and Singleton(ish) Model”

Posted on March 24, 2017Categories Plugin Development, WordPressTags , , ,   Leave a comment on WordPress Plugin Overhead

WordPress Plugin Overhead

I recently wrote an article on why you should bury the bulk of your plugin PHP code at least TWO levels deep from the top-level directory.  The short version: WordPress builds a list of every single PHP file in the plugin directory and first level subdirectories then opens every single one and reads the first 8K scanning for the /* Name: string to build a list of plugins and their meta.  This is triggered by the get_plugins() function in WordPress … Continue reading “WordPress Plugin Overhead”

Posted on March 3, 2017Categories Plugin Development, Technology, WordPressTags , , , 2 Comments on Why Your WordPress Plugin Should Have Almost Nothing In The Main Folder

Why Your WordPress Plugin Should Have Almost Nothing In The Main Folder

As we continue to roll out our Store Locator Plus SaaS service built on top of WordPress as our application foundation we continually refine our plugin, theme, and API architecture.    One of the issues I noticed while testing performance and stability is how WordPress Core handles plugins.    Though WordPress caches plugin file headers there are a lot of cases where it re-reads the plugin directories. What do I mean by “read the plugin directories”? WordPress has a function named get_plugin_data().   … Continue reading “Why Your WordPress Plugin Should Have Almost Nothing In The Main Folder”