Intro
Who doesn’t like fast processes? To tell you, time is gold and anything that can reduce this processing time is already considered a big improvement.
Change log
= 1.3.4 =
- Fixed: Incomplete search and replace rows.
- Fixed: Performance issues during automated search and replace process.
- Fixed: Performance issues during post author update.
Post author processing time improvement
Prime Mover adjust authors since it is possible that an author already exists in different site but using different user IDs. For example if someone migrates a single site to multisite – say an author with email: test@test.com exists in both site. But in single site, the user ID is 1 however in the multisite, this user has an ID of 8.
When this single-site is migrated to sub-site, post author ID needs to be updated from 1 to 8 so the post authors will be correctly displayed. Sounds simple, but what if there are millions of posts?
This is a very slow process indeed if using already available solutions. Prime Mover fix this slowness by directly addressing issue. This is by directly updating IDs in the database and paginate using MySQL seek methods . This bypasses any third party code that could slowdown this big process.
To benchmark, a WordPress site with more than 100, 000 + posts is tested. In old version, this takes 3783 seconds. This is beyond one hour mark to complete the entire restoration process!
In latest version (1.3.4), this takes only 1037 seconds – in summary this is around 3.65 times as fast! The results are the same but the latest version is way many times faster. Note that you cannot appreciate this change if your WordPress site has very few posts – e.g. 10 posts or even 5 posts. This change is noticeable if you have hundreds of thousands or even millions of posts.
Search and replace processing time improvement
When a site is restored, Prime Mover will do automated search and replace. This will search and update all paths and URLs/ domains to use the target site. If this is not updated, these paths/URLs/domains will still point to the old site and you have broken images or URLs.
There are already many good existing open source solutions/library to do this thing. However, they are not very efficient and optimized for very large sites. For example, if the site has only 50 URL/paths/domains to replace – all solutions seems to work. Until you have sites with millions of URLs/paths to replaced. Most solutions won’t work properly in this case because they paginate very slowly for big records and that the code is not optimized.
With version 1.3.4, the entire search replace library is overhauled and refactored! This uses MySQL seek methods like the post author improvement above to paginate through massive records. As a result, there is now a big improvement is processing time.
In a benchmark , a WordPress database of 1.4 GB is restored through Prime Mover. Old version takes 2993 seconds to complete on the average (db only restore mode). The new version takes only 1183 seconds. This is almost twice as fast! And this improvement is more noticeable even for larger database e.g. beyond 1.4 GB. The bigger the database – the more you can reap the benefits of this improvement.
This improvement is not noticeable for very small sites and this does not affect anything if you are already using Prime Mover. The functionality is the same, only that the refactored result is faster 🙂
Suggest!
If you notice something odd with this release or has something to suggest, please send us your comments through our contact page.