You all know that Cobalt 7 has different structure and queries to achieve great speed. That was one of the purpose of totally rewriting it.

One of our client started to use Cobalt in his serious projects. He encoded it with data about 16,000 records and 30,000 files uploaded. He used relate fields as well. And this fields's "Show intro" parameter is Yes. It means it shows list of children for every record in the list of parents and vice versa.

Suddenly Cobalt become slow. About 6 sec to load the page. But I was actually happy. I was glad that I have chance to test it in real world environment and find and destroy all imperfect parts of the code. And we started optimization. Because we do not want to get where we have ended up with Resources. After investigating and trying different ways to optimize, final solution has been found.

This discovery will affect not only this current case. After optimization of all queries accordingly, it should increase speed of filters search.

Let me demonstrate compression. We had to change some Joomla core debug mechanism to get more information.

Before

  • 20 records per page
  • 157 queries
  • 6 sec total queries time
  • 7 sec total load time

After

  • 20 records per page
  • 116 queries
  • 0.7 sec total queries time
  • 1.7 sec total load time

Looks quite good. Isn't it?

Actually there are only 40-70 queries per page, but because every record show list of other records, it gets bigger.

By now there are 35,978 records with 110,567 files takes only 1.115

Yet there are still some possibilities for improvement.

This optimization will be available with next Cobalt 7 build on Friday. We optimize it before you get any problems with the speed :)

Comments

blog comments powered by Disqus
Powered by Cobalt