Call-back icon  Sales: Call 877.832.5289 (N America)|310.295.4144 (International)

Magento

eCommerce Software for Online Growth

Magento Forum

   
Page 2 of 4
Reason for slow initial page load times? 
 
GetCracking
Jr. Member
 
Total Posts:  1
Joined:  2008-06-13
 
Sindre - 07 June 2008 02:13 AM

CalinT: great work on finding these “bugs”. Hopefully this is something that will be fixed in the v1.1 performance upgrades.

This sounds like just the issue I have found. Thank you Sindre for explaining the issue so well. And thank you too CalinT for what you think is a solution to this. Although far from being an SQL expert, I suspected it was most likely to be an inefficient SQL statement and that is one busy SQL statement with all those joins.

So as I don’t really want to start hacking the backend code and SQL is it known (a) if the Magento team agree with this solution and (b) when the v1.1 performance upgrades are due to be available?

Thanks all.

 
Magento Community Magento Community
Magento Community
Magento Community
 
lisali
Guru
 
Avatar
Total Posts:  459
Joined:  2008-04-28
London, UK
 

Have the same problem here - the initial loading time is way too long. Any suggestions on how to optimise it?

Thanks!
Lisa

 Signature 

ExtraCall.com - UK Telecommunications & VOIP

 
Magento Community Magento Community
Magento Community
Magento Community
 
adeb
Jr. Member
 
Total Posts:  2
Joined:  2008-06-14
Leeuwarden, Netherlands
 

The concerns mentioned in this thread are of great concern to me. I find Magento an amazing product, hard to believe it is free and open. But this resource hunger / slow performance might well be a show stopper. As mentioned earlier a visitor simply won’t wait for more then 10 seconds for a page to load. No matter how beautiful your site might be.

I really hope one of the developers can comment on this.

 
Magento Community Magento Community
Magento Community
Magento Community
 
dreamHD
Jr. Member
 
Total Posts:  3
Joined:  2008-06-17
 

yes i agree on this topic/thread

magento is great but it is a real shame that it can’t just run well as it should

i was hosting with mediatemple (gs) for the last couple years but when i tried to run magento it was horrid slow so that i had to go out and try out one of the hosting guys on the forum (simplehelix)

magento runs fast now (ty simplehelix) but still, I don’t know why anyone would have to switch their hosting company just to run this software

 
Magento Community Magento Community
Magento Community
Magento Community
 
Crucial
Guru
 
Avatar
Total Posts:  543
Joined:  2007-11-07
Phoenix, AZ
 
dreamHD - 17 June 2008 01:36 PM

I don’t know why anyone would have to switch their hosting company just to run this software

Any database-driven application will run faster on a local database server than an external one, like what you’d find at Media Temple or Mosso. Traffic and time of day influences this as well.

 Signature 

Crucial Web Hosting
Magento hosting in shared, semi-dedicated, and dedicated configurations. Demo store.
Dedicated Containers come with Varien’s professional support services for Magento.

 
Magento Community Magento Community
Magento Community
Magento Community
 
markf
Member
 
Total Posts:  55
Joined:  2007-09-20
 

I just did a fresh install of 1.1 beta and the issue still persists.  The initital load is slow then once you get past that its much better.  But come back an hour later and you start over from the slow initial load.... really annoying. 

My host is a very fast php/mysql host too. (MediaLayer)

 
Magento Community Magento Community
Magento Community
Magento Community
 
lisali
Guru
 
Avatar
Total Posts:  459
Joined:  2008-04-28
London, UK
 

Hi Guys,

A LOT of bandwith is wasted on unoptimised images that are in the default template. Remove and/or optimise them and you’ll see some improvement.
Share other tricks please!
Lisa

 Signature 

ExtraCall.com - UK Telecommunications & VOIP

 
Magento Community Magento Community
Magento Community
Magento Community
 
netjet
Jr. Member
 
Total Posts:  19
Joined:  2008-07-03
 

It’s not the problem of hosting since as in local installation, magento is slow as hell, creating the catalog is completely crazy! 10-15 secs each basic operation!! this is non sense...sorry

 
Magento Community Magento Community
Magento Community
Magento Community
 
Glyndon
Jr. Member
 
Total Posts:  2
Joined:  2007-09-03
 

I too am a little disappointed at Magento in its current form.

I watched with great interest and excitement as it was being developed and the final feature list was absolutely incredible but sadly it is simply far too slow to be used as a production shopping cart.

I have been playing around locally with the shopping cart but am constantly frustrated by the extremely poor page load times. No amount of image size crunching and template optimising would make this cart load in an acceptable time.

When I say acceptable, I really mean of course for the end user. Its not too bad for us developers as we know exactly what is going on behind the scenes but to your average customer the key is speed. They are not prepared to sit around to wait 15-30 seconds for your page to load and your offline sales department can not afford to wait for several minutes while they navigate 2 menu items in the admin area.

Excellent feature list but ruined by poor speed. Shame.

I would rather Magento suspended their current development roadmap and work entirely on dramatically improving the performance. Great functionality is not great if it doesn’t perform.

 
Magento Community Magento Community
Magento Community
Magento Community
 
jtyana
Jr. Member
 
Total Posts:  9
Joined:  2008-04-26
 
Glyndon - 15 July 2008 06:29 AM

I would rather Magento suspended their current development roadmap and work entirely on dramatically improving the performance. Great functionality is not great if it doesn’t perform.

I agree. No use designing heated leather seats for the Sports Car if the engine runs like a lawn mower.
Forget the heated leather seats for now and work on the engine.

 
Magento Community Magento Community
Magento Community
Magento Community
 
edesigninc
Jr. Member
 
Avatar
Total Posts:  17
Joined:  2008-03-14
Fresno, CA
 

I added this change to the “class Mage_Catalog_Block_Product_New” as you suggested.  And created the Attribute is_new with the attribute options Yes/No.  I then applied those to configurable products and simple products.  I added the attribute to the Product Group for Clothing and then set its attribute to Yes on one of my products.  The product does not appear on the homepage still?  Am I missing anything here?

 
Magento Community Magento Community
Magento Community
Magento Community
 
lisali
Guru
 
Avatar
Total Posts:  459
Joined:  2008-04-28
London, UK
 
edesigninc - 23 July 2008 11:18 AM

I added this change to the “class Mage_Catalog_Block_Product_New” as you suggested.  And created the Attribute is_new with the attribute options Yes/No.  I then applied those to configurable products and simple products.  I added the attribute to the Product Group for Clothing and then set its attribute to Yes on one of my products.  The product does not appear on the homepage still?  Am I missing anything here?

Wrong thread buddy. That’s what you’re missing .... smile

Lisa

 Signature 

ExtraCall.com - UK Telecommunications & VOIP

 
Magento Community Magento Community
Magento Community
Magento Community
 
atang
Member
 
Total Posts:  48
Joined:  2008-07-10
 

I also tried the “is_new” attribute suggested by calinT in this thread (http://www.magentocommerce.com/boards/viewthread/8020/#t34861).  At first it didn’t work, but it was because I missed all the changes.  Make sure you get them all, and try refreshing your cache if that’s enabled.

In any case, it didn’t really make a difference for me.  Initial load times (i.e. after not accessing the storefront for a while) are still extremely slow, and my host is reporting the query is not efficient.  It doesn’t look too different from when it joined with the table that gave the new from/to dates:

# Query_time: 7 Lock_time: 0 Rows_sent: 1 Rows_examined: 66
SELECT `e`.*, IFNULL(_table_is_new.value, _table_is_new_default.value) AS `is_new`, IFNULL(_table_name.value, _table_name_default.value) AS `name`, `_table_price`.`value` AS `price`, IFNULL(_table_small_image.value, _table_small_image_default.value) AS `small_image`, `_table_special_price`.`value` AS `special_price`, IFNULL(_table_special_from_date.value, _table_special_from_date_default.value) AS `special_from_date`, IFNULL(_table_special_to_date.value, _table_special_to_date_default.value) AS `special_to_date`, IFNULL(_table_status.value, _table_status_default.value) AS `status`, IFNULL(_table_visibility.value, _table_visibility_default.value) AS `visibility` FROM `catalog_product_entity` AS `e`
INNER JOIN `catalog_product_entity_int` AS `_table_is_new_default` ON (_table_is_new_default.entity_id = e.entity_id) AND (_table_is_new_default.attribute_id=’579’) AND _table_is_new_default.store_id=0
LEFT JOIN `catalog_product_entity_int` AS `_table_is_new` ON (_table_is_new.entity_id = e.entity_id) AND (_table_is_new.attribute_id=’579’) AND (_table_is_new.store_id=’1’)
INNER JOIN `catalog_product_entity_varchar` AS `_table_name_default` ON (_table_name_default.entity_id = e.entity_id) AND (_table_name_default.attribute_id=’45’) AND _table_name_default.store_id=0
LEFT JOIN `catalog_product_entity_varchar` AS `_table_name` ON (_table_name.entity_id = e.entity_id) AND (_table_name.attribute_id=’45’) AND (_table_name.store_id=’1’)
INNER JOIN `catalog_product_entity_decimal` AS `_table_price` ON (_table_price.entity_id = e.entity_id) AND (_table_price.attribute_id=’49’) AND (_table_price.store_id=0)
INNER JOIN `catalog_product_entity_varchar` AS `_table_small_image_default` ON (_table_small_image_default.entity_id = e.entity_id) AND (_table_small_image_default.attribute_id=’60’) AND _table_small_image_default.store_id=0
LEFT JOIN `catalog_product_entity_varchar` AS `_table_small_image` ON (_table_small_image.entity_id = e.entity_id) AND (_table_small_image.attribute_id=’60’) AND (_table_small_image.store_id=’1’)
LEFT JOIN `catalog_product_entity_decimal` AS `_table_special_price` ON (_table_special_price.entity_id = e.entity_id) AND (_table_special_price.attribute_id=’50’) AND (_table_special_price.store_id=0)
LEFT JOIN `catalog_product_entity_datetime` AS `_table_special_from_date_default` ON (_table_special_from_date_default.entity_id = e.entity_id) AND (_table_special_from_date_default.attribute_id=’51’) AND _table_special_from_date_default.store_id=0
LEFT JOIN `catalog_product_entity_datetime` AS `_table_special_from_date` ON (_table_special_from_date.entity_id = e.entity_id) AND (_table_special_from_date.attribute_id=’51’) AND (_table_special_from_date.store_id=’1’)
LEFT JOIN `catalog_product_entity_datetime` AS `_table_special_to_date_default` ON (_table_special_to_date_default.entity_id = e.entity_id) AND (_table_special_to_date_default.attribute_id=’52’) AND _table_special_to_date_default.store_id=0
LEFT JOIN `catalog_product_entity_datetime` AS `_table_special_to_date` ON (_table_special_to_date.entity_id = e.entity_id) AND (_table_special_to_date.attribute_id=’52’) AND (_table_special_to_date.store_id=’1’)
INNER JOIN `catalog_product_entity_int` AS `_table_status_default` ON (_table_status_default.entity_id = e.entity_id) AND (_table_status_default.attribute_id=’69’) AND _table_status_default.store_id=0
LEFT JOIN `catalog_product_entity_int` AS `_table_status` ON (_table_status.entity_id = e.entity_id) AND (_table_status.attribute_id=’69’) AND (_table_status.store_id=’1’)
INNER JOIN `catalog_product_entity_int` AS `_table_visibility_default` ON (_table_visibility_default.entity_id = e.entity_id) AND (_table_visibility_default.attribute_id=’74’) AND _table_visibility_default.store_id=0
LEFT JOIN `catalog_product_entity_int` AS `_table_visibility` ON (_table_visibility.entity_id = e.entity_id) AND (_table_visibility.attribute_id=’74’) AND (_table_visibility.store_id=’1’) WHERE (e.entity_type_id = ‘4’) AND (IFNULL(_table_is_new.value, _table_is_new_default.value) = ‘1’) AND (IFNULL(_table_status.value, _table_status_default.value) in (1)) AND (IFNULL(_table_visibility.value, _table_visibility_default.value) in (2, 4))

As far as other tips, I highly recommend setting up your .htaccess config to implement compression for both the php output and static files (other than images), and setting an expires header so that the user is able to pull images from cache (the caveat being if you make changes, the user may not see it, so watch how far in the future you set the “expires").  This won’t help so much with the “initial” load time, but speed up the user’s experience after that.  If you use Firefox, download Firebug and Yslow (just search for them).  The provide very useful information to help you debug your site and evaluate performance (from the client side).

I’m tempted to just create a static landing page, so that users landing at my store will get a response quickly on the initial load, although this will require managing it more aggressively to keep up with changes, and the user may be waiting on their next action

Any other ideas out there?  Optimizations?  Maybe there’s some index on the DB that needs to be defined.  Any database experts out there?  grin

 
Magento Community Magento Community
Magento Community
Magento Community
 
edesigninc
Jr. Member
 
Avatar
Total Posts:  17
Joined:  2008-03-14
Fresno, CA
 

I don’t know how this can be the wrong thread, the class modification was described on the first page of this thread?  by CalinT

lisali - 23 July 2008 11:25 AM


Wrong thread buddy. That’s what you’re missing .... smile

Lisa

 
Magento Community Magento Community
Magento Community
Magento Community
 
SimpleHelix.com
Guru
 
Avatar
Total Posts:  426
Joined:  2007-08-31
Los Angeles, CA
 

Have you tried out the 1.1? Speed is definitely improved on 1.1 version.

However I might add that, from our research, upgrading your hard drive to SAS will give you the most impact on performance. This may be due to the sheer amount of files /queries Magento loads and looks up for and I/O is definitely going to be the bottleneck in this area. Couple that with a server-side caching mechanism such as APC will give you excellent performance.

Try viewing our demo at www.magentify.com, you shouldn’t have any initial loading time.

 Signature 

SimpleHELIX.com, LLC
A World-Class Magento Web Hosting company - Providing scalable, reliable, and secure enterprise hosting solutions
The creators of super-fast performance hosting. Find out more @ http://www.simpleHELIX.com

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
    Back to top
Page 2 of 4
 
Sales: Call 877.832.5289 (North America) 310.295.4144 (International)
© Copyright 2008 Varien. Magento, eCommerce software, is a trademark of Irubin Consulting Inc. DBA Varien
Privacy Policy|Terms of Service
Magento Community Count
53219 users|818 users currently online|107272 forum posts