Slow website
Permalink
Hi all,
A website I build is pretty slow at the first page (http://bit.ly/12XVwNp).Is this because of Concrete/plugins/etc. or because of the host?
I have the latest stable version of Concret5 and used
to speed things up.
Maybe someone could give it a look?
Thanks
Maarten
A website I build is pretty slow at the first page (http://bit.ly/12XVwNp).Is this because of Concrete/plugins/etc. or because of the host?
I have the latest stable version of Concret5 and used
to speed things up.
Maybe someone could give it a look?
Thanks
Maarten
Thank you Adajad for checking.
I now updated Concrete to the latest version and it seems to help. Also going to compress the images more.
So "time to first bite" has to do with the host server speed.
Maarten
I now updated Concrete to the latest version and it seems to help. Also going to compress the images more.
So "time to first bite" has to do with the host server speed.
Maarten
I also experience very long first time startup. And the 'normal' home page is taking about 2 seconds which is much too long (also google likes fast pages).
I tried the isolate the root cause and about 0.5 seconds is taken by the function database() in the file concrete/core/libraries/loader.php
Then I also see that 1257 queries are processed!!!
it calls this via the 3rd party database driver: concrete/libraries/3rdparty/adodb/drivers/adodb-mysql.inc.php
Why using a 3rd party driver and not just native PDO? and why needing 1257 queries for the home page?
And so far I was not able to find the cause between the first page duration and a next page. I disabled cache to ensure it's not cache related. It might be the mysql server it selfs caching the queries to run faster on next run.
I tried the isolate the root cause and about 0.5 seconds is taken by the function database() in the file concrete/core/libraries/loader.php
Then I also see that 1257 queries are processed!!!
it calls this via the 3rd party database driver: concrete/libraries/3rdparty/adodb/drivers/adodb-mysql.inc.php
Why using a 3rd party driver and not just native PDO? and why needing 1257 queries for the home page?
And so far I was not able to find the cause between the first page duration and a next page. I disabled cache to ensure it's not cache related. It might be the mysql server it selfs caching the queries to run faster on next run.
I just noticed that the 5.6.1 was not automatically seen by the upgrade function so I manually upgaded from 5.6.0.2 to 5.6.1.
This at least bring back home page time from 2000ms (2 seconds) into 800ms.
I also noticed that instead of 1257 queries it 'only' needed 305 queries.
At least the speed experience improved a lot and that's for me important and good enough for the moment. I will check if I see slow first loading.
This at least bring back home page time from 2000ms (2 seconds) into 800ms.
I also noticed that instead of 1257 queries it 'only' needed 305 queries.
At least the speed experience improved a lot and that's for me important and good enough for the moment. I will check if I see slow first loading.
I now have a situation that the whole PHP took 115 seconds for the first start! Incredible high! I use 5.6.1.
15 seconds went to pure mysql access. The first query took only 0.1ms so it's not connection. Query nr 24 took 3 seconds (3128ms). This was the query in function getBlockIDs() in updates/concrete5.6.1/concrete/core/models/collection.php
The query is not using an index on the block table for field btID. So I created one myself: ALTER TABLE `Blocks` ADD INDEX `ibtID` (`btID`); I found out with the mysql command 'explain'. Rest of the queries are less slow. In total I see 353 queries.
Also the autoloadCore() function located in updates/concrete5.6.1/concrete/core/libraries/loader.php takes 14 seconds and runs 190 times for my really home simple page. And also function model() in the same file takes 11 seconds and runs 70 times.
15 seconds went to pure mysql access. The first query took only 0.1ms so it's not connection. Query nr 24 took 3 seconds (3128ms). This was the query in function getBlockIDs() in updates/concrete5.6.1/concrete/core/models/collection.php
The query is not using an index on the block table for field btID. So I created one myself: ALTER TABLE `Blocks` ADD INDEX `ibtID` (`btID`); I found out with the mysql command 'explain'. Rest of the queries are less slow. In total I see 353 queries.
Also the autoloadCore() function located in updates/concrete5.6.1/concrete/core/libraries/loader.php takes 14 seconds and runs 190 times for my really home simple page. And also function model() in the same file takes 11 seconds and runs 70 times.
That being said, I have had a look at your site and do see some smaller issues:
- Time to first byte is approx 3 sec (it takes three seconds before the server starts sending data to the client).
- Your background image is 507.1 KB, which isn't that much, but a slow host will take it's time to serve the image.
- Your header.png is 384.6 KB...
- You have a 404 on favicon.
- Your images could use better compression
- You don't utilize browser caching of static files, which would help returning visitors a lot.
As you can see there are some things you can work on, but over all I must say I do experience slower sites on a daily basis...
For test results, see this link: http://www.webpagetest.org/performance_optimization.php?test=130218...