Last week we have re-shaped our database and made several performance improvements that should directly affect your sites, especially if you use tag and custom field selectors within the ListPages module. Even if not — your sites should appear a bit snappier too since the general load on the databases has decreased significantly.
Here's what should be faster now:
Selecting by tags
There are several large sites on Wikidot that depend on tags for categorizing pages. Take Wikiwealth for example. It uses tags to associate numerous data with appropriate market instruments and then invokes ListPages to render useful information to the visitor. The data is so large that every time we had been checking database status there had always been a few queries related to WikiWealth hanging around.
We have basically re-written parts of Wikidot engine that deals with storing tags and selecting pages by tags. We have created new fields on page tables in the database and built indexes on it. As a result the queries that used to take 0.5 seconds now take 0.002 seconds to execute.
Our own issue tracker, built on tags, works much nicer too. It selects pages by tags, e.g.
[[module CountPages category="issue operation support packaging" tags="_wip"]]
Our main page contains 15 ListPages and CountPages modules. After the database redesign its content is rendered significantly faster.
If your site uses any complex ListPages or CountPages construct that selects pages by tags, you will likely see an improvement too.
Selecting by custom fields
If your site contains form-enabled pages and you use custom field selectors in ListPages or CountPages or you order results by custom fields — there are several improvements too. We have decided to store all page attributes in a separate table using database type designed to store flat key-value data (HStore).
Selecting pages by custom fields has never been optimized since its introduction a few years ago.
One of the new sites that take advantage of form-enabled data is DarkSouls3 wiki. It uses data-enabled pages to categorize game items. For example their Weapons page uses several ListPages modules to list all items (pages) categorized as Axes, Bows, Swords etc. The database optimizations we've done reduced specific query times from 0.8s to 0.008s. It makes a huge difference when working with the content or viewing it.
Any changes in user interface?
No, the changes are limited to backend only. No changes should have been introduced that would affect results returned by ListPages nor CountPages. If, by any chance, your site displays results other than you expect, please let us know. Although we've extensively tested the improvements there might be a few quirks we missed.
Tags and custom fields in data forms can now scale much better as sites grow. If you plan on creating sites with structured data, even storing thousands of items, I suggest you should give data forms a try.
Read more at:
- Selecting pages from ListPages module doc
- Selecting and sorting pages by data form fields — a blog post
- Selecting & Sorting by Data Form fields — from the data forms docs
Hi Michal!
I can acknowledge the better performance on my genealogy-template wiki:
http://genealogy-template.wikidot.com
using lots of „custom fields“ in the live templates ( category „per“ and „fam“ )
See as an example :
Albert Einstein (1879-1955)
and his sister:
Maria Winteler (1881-1951).
The answer-time is now very good, not as before .
Now it makes really sense to make this wiki clone-able with the live templates for private use.
Regards
Helmut
Service is my success. My webtips:www.blender.org (Open source), Wikidot-Handbook.
Sie können fragen und mitwirken in der deutschsprachigen » User-Gemeinschaft für WikidotNutzer oder
im deutschen » Wikidot Handbuch ?
Thanks for the comment! We are working on a few more optimizations — but the ones I mentioned are definitely the most critical ones.
Cheers!
Michal
Michał Frąckowiak @ Wikidot Inc.
Visit my blog at michalf.me
。。。
Rest in the Hope.
lol
Looking forward to trying this speed improvement out.
Thanks for the update, always good to be made aware when the service gets better! This is just as beneficial as most new features would be, if not more so.
~ Leiger - Wikidot Community Admin - Volunteer
Wikidot: Official Documentation | Wikidot Discord server | NEW: Wikiroo, backup tool (in development)
Great optimizations. I was waiting for searching by tags option for a long time, it's a big step forward. Great job, my friend!
Cool, I think that moving on this site will be easier now. What are you planning to upgrade next? I am very curious!
I think there's not much more he can upgrade here. All I want is more articles!
For readers, the performence of a site is essential and to this end, administrators must continually make technological monitoring in order to constantly improve their baby
Well done guys ;)
This is very easy and intuitional. I think that's one of the best upgrades on this website :)
I love the way this website is going. Good job!
Thanks for the update, always good to be made aware when the service gets better!
true that
Floridian Pools seeks to be the pool builder of choice in the state of Florida providing world-class service.
Floridian Pools seeks
Xây Dựng Nắng Xanh chuyên thiết kế thi công nhà đẹp Sửa Nhà