• Toll-free  888-665-8637
  • International  +1 717-220-0012
Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

2 Pages12>
motsuji
#1 Posted : Tuesday, April 22, 2008 1:19:44 PM(UTC)
motsuji

Rank: Member

Joined: 4/2/2008(UTC)
Posts: 18

We have over 5000 items and over 80 categories. Everything in the site (including searches) is fast except when you click on a category under departments (Even empty categories).

I am running the performance monitor on our dedicated SQL Server. Memory, disk and page utilization hardly get hit however Processor goes to 100% for roughly 12 seconds. This ONLY happens when you click on the category. I have tested a number of different sections of the site and none push the processor to 100% except clicking on a category in the store. All categories are Static and I have the category set to Detail and sort my product name. I have tried simple and manual with no change in results. I have not made any customizations to BVC 5.

It does not happen in the admin section or in any of the user functions. Only started happening when we passed 60 categories or 3000 items. Please help as the trial customers have all said it is too slow. We are trying to bring the site up for production.

Thank you in advance for your help.

Michael Otsuji

www.da-planet.com/store
Marcus
#2 Posted : Tuesday, April 22, 2008 3:24:52 PM(UTC)
Marcus

Rank: Member

Joined: 11/5/2003(UTC)
Posts: 1,786

Have you installed Hot Fix F which includes a performance change to the AvailableAndActive function?
motsuji
#3 Posted : Tuesday, April 22, 2008 3:43:13 PM(UTC)
motsuji

Rank: Member

Joined: 4/2/2008(UTC)
Posts: 18

I just installed Hot Fix F with no change (except the search seems faster). If I do a Search and return all items in a specific category it is super fast with minimal processor usage <30%. The Search rips and works perfect but the category pages do not.

When I go and click on the category link under departments and it brings up a page the CPU utilization shoots up to 100% for the exact same list of products.

I just tried removing all the options on the page such as the category list and search and made the category a simple list and this did not affect anything.

If you could please check out www.da-planet.com/store for an example. Click on any of the departments and you will see what I am talking about.

Thanks for your help.
Matt@9BallDesign
#4 Posted : Tuesday, April 22, 2008 4:09:27 PM(UTC)
Matt@9BallDesign

Rank: Member

Joined: 12/23/2003(UTC)
Posts: 909

Honestly, with 5000 products, you should be setting up a minimum a 200-300 categories (that's being conservative), I'd be doing 500.

Also, what's the performance like when you switch to a Grid view (w/ no add to cart button displaying)?

Additionally, turn off Show Product Count on the category tree and see if that has any impact.

How many products do you have assigned to a category? I'd say going over 24 products is a no-no. (that's not aimed only at a BV Application)



Is that 4752 the number of products you have assigned to the parent Yu-Gi-Oh category? or is that the count of all the products in the entire catalog in all of the subcategories?
Matt Martell


http://www.9balldesign.com - Web, Print, Graphic


http://www.martellhardware.com/ - Decorative & Builder's Hardware

------------------------------------------------
motsuji
#5 Posted : Tuesday, April 22, 2008 6:08:22 PM(UTC)
motsuji

Rank: Member

Joined: 4/2/2008(UTC)
Posts: 18

Dear Matt,


Thanks for your response. The Yu-Gi-Oh Category has 4 subcategories. The subcategory Single Cards has 78 subcategories. Those subcategories are based on the sets. Each set has a max of 150 products. I hope the software can support more than 24 products per subcategory because if it does not I have no way to classify the cards. The problem seemed to appear once we started entering the Magic singles and those sets have well over 300 cards per category.



The anomoly is that the Search works PERFECT and the category pages were blazing until I added the last 1000 or so products. I am super concerned as we are not even close to finishing the number of product entries that we have. Our current ASP3.0 application has 31000 records so we have a long way to go.



I tried turning everything I could off but nothing has any affect. I hope this is something simple as in its current state the site is no longer usable. We had 3 people try to browse the site and basically it stops working for over a minute. The SQL server P4 2.4 2GB RAID 5 is pegged at 100% for the whole time. The Disk Usage, and Memory Usage are super low and barely even move. The web server is basically idle during the whole time the SQL Server is pegged.



Sincerely,



Michael Otsuji
Matt@9BallDesign
#6 Posted : Tuesday, April 22, 2008 11:04:53 PM(UTC)
Matt@9BallDesign

Rank: Member

Joined: 12/23/2003(UTC)
Posts: 909

Hey Michael, if you've flicked all the switches and still no improvement, I'd do a couple things.


1. Are the categories dynamic or static? Dynamic will add overhead. Specifically in your case considering product count.



2. Have you made any customizations to the category page vb files? Any random calls not out of the box?



3. Take a peek at the server setup. All i's are dotted, t's crossed, etc.. shared hosting? dedicated? SQL on a seperate box?



I'll make my shameless plug that www.resposio.com handle some sites that are much larger than 31k products, all smokin' fast... If you're good with your host and/or network, disregard :)



I mentioned 24 products to a category with the disclaimer - (that's not aimed only at a BV Application). So I'll clarify my .02 cent usability suggestion that categories in general should stay at a reasonable number. I say 24 because a typical trend is a 4 x 6 grid (variations are abundant, really shoud be decided by place & time).



Sort of unrelated, I'm not up to speed on your products, but can they be classified by Volume #? Editions? Characters? Theme? etc.
Matt Martell


http://www.9balldesign.com - Web, Print, Graphic


http://www.martellhardware.com/ - Decorative & Builder's Hardware

------------------------------------------------
motsuji
#7 Posted : Tuesday, April 22, 2008 11:21:15 PM(UTC)
motsuji

Rank: Member

Joined: 4/2/2008(UTC)
Posts: 18

Thanks for your suggestions and help.
1. All Categories are Static.

2. No modifications other than the theme.

3. SQL is on a dedicated box. 2003 Server P4 2.4 2GB RAID 5 ATA.



We have all our own gear and a dedicated T1.



Usually our products are categorized by set.



My paradox is that the search works super fast. I can select a Category and the products are instantly returned with minimal CPU usage. I can use the Admin pages and everything works perfect. Just when I use the customer pages that are accessed when clicking the category does everything get slow.



I am guessing it is some index that a stored procedure is using. I work some test ASPX pages and SQL queries against the database to test and everything rips. So lost. No idea.
Andy Miller
#8 Posted : Wednesday, April 23, 2008 2:18:58 AM(UTC)
Andy Miller

Rank: Member

Joined: 11/5/2003(UTC)
Posts: 2,136

Was thanked: 1 time(s) in 1 post(s)
Have you used the tuning profile in SQL Profiler to see if it has any suggestions? Just start the Profiler with the tuning profile and then access the site for a few minutes through the customer pages. Then stop the Profiler and let it analyze the results. If there is a missing index, for example, it will clearly recommend one.
Andy Miller
Structured Solutions

Shipper 3 - High Velocity Shipment Processing
Matt@9BallDesign
#9 Posted : Wednesday, April 23, 2008 11:38:56 AM(UTC)
Matt@9BallDesign

Rank: Member

Joined: 12/23/2003(UTC)
Posts: 909

Hey Michael, did you try switching the display to a grid? Not sure if you said you tried this.

I know that the one thing that's going to add overhead is that the Detailed Display has to filter through every product that is in a category to determine if it has choices or not to display the Add To Cart button or the View Details button.

Having a category with what I perceive to be 4700 products assigned to it is going to add a tremendous amount of overhead. Even without the add to cart button, a category that has to display a pager system that goes to 476 has to take the time to determine how many pages to display.

When I do a search on your site, it's snappy, but it's a grid display. Application doesn't have to filter through each product to see if there are choices.
Matt Martell


http://www.9balldesign.com - Web, Print, Graphic


http://www.martellhardware.com/ - Decorative & Builder's Hardware

------------------------------------------------
motsuji
#10 Posted : Wednesday, April 23, 2008 11:55:01 AM(UTC)
motsuji

Rank: Member

Joined: 4/2/2008(UTC)
Posts: 18

Dear Andy and Matt,

I really appreciate all of your suggestions.

1. I ran the SQL Profiler and the Database Engine Tuning Advisor. It recommended the creation of 3 indexes saying performance will improve 79%. I applied the recommendations will no noticable improvement.

2. The Yu-Gi-Oh category is a GRID.

3. Question: The Yu-Gi-Oh category has a a subcategory Single Cards and that has a subcategory SetX which has the products in it for the set. The product has the category choices for all three categories. Should I just make it one (the set category)? If so is there a quick way to change all of the items?

Sincerely,

Michael Otsuji
Matt@9BallDesign
#11 Posted : Wednesday, April 23, 2008 12:22:52 PM(UTC)
Matt@9BallDesign

Rank: Member

Joined: 12/23/2003(UTC)
Posts: 909

The Product Batch Edit would be the solution, but I'm not seeing the ability to juggle category assignments with this feature.

Marcus, would SQL F&R be a candidate for this?

I just clicked the Yu-Gi-Oh category and noticed a tremendous decrease in load time. Still hefty, but nowhere near the same as before. But now the pager count is at 794.



I've been trying to get it across without offending you and I hope you see it only as constructive, 4700 products in 1 category is just not proper.



So i'm looking at some of your cards. I type "Cyberdark" in the search and get 9+ products. If cyberdark is a family of cards. That's a Yu-Gi-Oh Subcategory. I type in "Destruction of Destiny", if that's a family of cards, there's another sub category.



Again, I don't know the nature of the products and how they are related so I'm going on what I see. When I see the same name on a deck of cards only difference being a booster pack 1, 2, 3, etc... I see a grouping and a resulting sub category.



If you sub-categorize your catalog to the level I'm mentioning, remove 4700 products from a category, you'll see page loads a million times faster and have a field day in the search engines!
Matt Martell


http://www.9balldesign.com - Web, Print, Graphic


http://www.martellhardware.com/ - Decorative & Builder's Hardware

------------------------------------------------
motsuji
#12 Posted : Wednesday, April 23, 2008 12:49:51 PM(UTC)
motsuji

Rank: Member

Joined: 4/2/2008(UTC)
Posts: 18

Dear Matt,


The cards need to be categorized by set. The reason why Yu-Gi-Oh has 4000+ items is that I followed the example in the Manual which showed that the product in the subcategory has the parent checked as well. I am assuming that you are saying to uncheck the parent categories of the subcategories if I need to keep the categorization by set.



The customer feedback is that they like the organization. It make it easy for them to look for stuff they want.



If I uncheck all the parents then will this help? I hope I could get some confirmation that this is the problem before I invest the labor to do this.



I was hoping to go live by next Monday and I have our staff scheduled to come in this Sunday to convert the inventory over from our old system to BVC. I am grateful to you for your suggestions and help.



Sincerely,



Michael Otsuji
Matt@9BallDesign
#13 Posted : Wednesday, April 23, 2008 1:07:16 PM(UTC)
Matt@9BallDesign

Rank: Member

Joined: 12/23/2003(UTC)
Posts: 909

Hey Michael,

I would uncheck the parent and leave the sub checked. But again, if it's going to be 4000+ products in a category, it's only moving the problem down a level.

In the stores that I maintain, I'll use the parent category (call it a department) to highlight a select number of products. Let's say you have a brand new set of YGO cards available that you want push. I would assign those sets to the parent as well as it's corresponding sub-category.



Call it In-Store Marketing.



As a designer of many ecommerce stores, I strongly advise that you evaluate the catalog in it's entirety. As a search engine freak, I strongly advise 100's of subcategories!



All in all, it's a ton of work. I do it 365 days a year and boy do my eyes get tired of it, you may see it as an impossibly daunting task, but longterm thinking will set you up for extreme success in a year or two! You get 100% out, if you put 100% in.



Good luck with your store! Thanks for taking my advice in stride :)
Matt Martell


http://www.9balldesign.com - Web, Print, Graphic


http://www.martellhardware.com/ - Decorative & Builder's Hardware

------------------------------------------------
motsuji
#14 Posted : Wednesday, April 23, 2008 1:44:08 PM(UTC)
motsuji

Rank: Member

Joined: 4/2/2008(UTC)
Posts: 18

Dear Matt,

Thanks for sticking with me. Just to confirm in the current set up the Categorys are as follows Yu-Gi-Oh | Single Cards | SetName | product. Currently all are checked. You are saying just to check the SetName subcateory. This would limit the number of products per SetName to 300-400 max (The Magic sets are big). I NEED to have the individual cards categorized by set. If this is still a problem then I will not be able to use this product.

Our current site is and ASP3.0 site that I wrote with well over 30,000 items. I do not have this problem. I am still baffled by the Search since it works so well. Also I turned off all the navigation on the left so only the products display and still there is no difference.

What is the difference between the customer category page (if it is set to GRID) that returns the products and the Search page? It seems to me that the Query would be the same. The first takes 100% CPU utilization on the SQL Server and the second barely blips.

Sincerely,

Michael Otsuji
bbcweb
#15 Posted : Wednesday, April 23, 2008 1:48:45 PM(UTC)
bbcweb

Rank: Member

Joined: 5/14/2005(UTC)
Posts: 398

Didn't you say that empty categories are behaving this way as well?
BetterBuilt.net professional web design and development. call 1-877-325-1109 x7
motsuji
#16 Posted : Wednesday, April 23, 2008 2:31:40 PM(UTC)
motsuji

Rank: Member

Joined: 4/2/2008(UTC)
Posts: 18

Yes. Empty categories are behaving this way as well.


The home page of the store and the search work fine. Once you click on any of the categories/departments in the navigation the problem arrises.
motsuji
#17 Posted : Wednesday, April 23, 2008 3:39:54 PM(UTC)
motsuji

Rank: Member

Joined: 4/2/2008(UTC)
Posts: 18

Dear Matt and BV Software Programmers,

OK I did what you said kind of. I wrote a script to uncheck the parent categories. Thus no category has the 1000's of items. It does not seem to have helped.

My reply to the previous post is not correct. If a category has ANY products associated with it then when you click on the category it is slow. If the category has only subcategories in it then the page opens quickly.

In the subcategory World of Warcraft | Booster boxes I have only 5 products and the behavior remains.

Is it possible that an index is corrupt or something? Totally lost.

Sincerely,

Michael Otsuji
bbcweb
#18 Posted : Wednesday, April 23, 2008 4:26:30 PM(UTC)
bbcweb

Rank: Member

Joined: 5/14/2005(UTC)
Posts: 398

the initial server response seems to be the same delay whether there are many products or just one. It also doesn't seem to matter if they are displayed as a paged grid or a single detailed display. Whatever the reason for the hang up is not dependant on number of products or display style.
BetterBuilt.net professional web design and development. call 1-877-325-1109 x7
motsuji
#19 Posted : Wednesday, April 23, 2008 7:59:26 PM(UTC)
motsuji

Rank: Member

Joined: 4/2/2008(UTC)
Posts: 18

I have gone through the SQL Trace from the Profiler. The delays seem to come from the following statements. All the other statements have a duration of 0. I don't know if this helps.




IF (SELECT SettingValue FROM bvc_WebAppSetting WHERE SettingName = 'DisableInventory') = 1 (Delay of 2-5 appears roughly 16 times everytime a category is clicked)





The following statements have longer delays



SP:StmtCompleted SELECT
Count(*) As [Count]
FROM bvc_Product p JOIN bvc_ProductXCategory px ON p.bvin = px.ProductID
WHERE p.ParentID=''
AND px.CategoryID = @bvin
AND dbo.bvc_ProductAvailableAndActive(px.ProductId, 0) = 1


241 (Duration)


RPC:Completed exec bvc_ProductCount_ByCategory_s @bvin=N'94c73c8c-5c1b-4f0a-99d1-c48a6fe97b80'



241 (Duration)


SP:StmtCompleted SELECT
Count(*) As [Count]
FROM bvc_Product p JOIN bvc_ProductXCategory px ON p.bvin = px.ProductID
WHERE p.ParentID=''
AND px.CategoryID = @bvin
AND dbo.bvc_ProductAvailableAndActive(px.ProductId, 0) = 1


221 (Duration)



RPC:Completed exec bvc_ProductCount_ByCategory_s @bvin=N'962193c6-3c7d-4f52-b26b-19fbdb281f90'



222 (Duration)



SP:StmtCompleted SELECT
Count(*) As [Count]
FROM bvc_Product p JOIN bvc_ProductXCategory px ON p.bvin = px.ProductID
WHERE p.ParentID=''
AND px.CategoryID = @bvin
AND dbo.bvc_ProductAvailableAndActive(px.ProductId, 0) = 1


128 (Duration)


RPC:Completed exec bvc_ProductCount_ByCategory_s @bvin=N'd9882ba5-ff56-43f0-a431-9eb90b6297cb'



129 (Duration)
Marcus
#20 Posted : Thursday, April 24, 2008 7:28:20 AM(UTC)
Marcus

Rank: Member

Joined: 11/5/2003(UTC)
Posts: 1,786

If you would like to backup your database and send it to us we'd be happy to run it on one of our machines to compare performance numbers.


We have clients with 300,000+ products in their databases that are running very well so I'm not sure why your store is so slow other than settings/environment. If we run it locally and it runs fine that will help pinpoint your servers/setup as the issue.
2 Pages12>
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

©2024 Develisys. All rights reserved.
  • Toll-free  888-665-8637
  • International  +1 717-220-0012