slow virtuemart - 14000 categories, site death

Started by caesarsk, July 03, 2013, 19:54:44 PM

Previous topic - Next topic

franzpeter

Maxim, I fully agree. If it is a vhost, maybe with a weak cpu and at least just 1 or 2 GB of memory with 28 domains, the server provider must be a little bit sick in brain.

Milbo

Of course. You can easily use a small shop, that means 100 products with 3 images, and normal amount of modules can be handled on a 5 euro per months server. For example here http://lichtsteinewelt.de/ . Just a small shop, no problem.

Of course if you have 14k categories, it is not a small shop anylonger.

Hmmm key_buffer_size 8589934592, does it mean 1024MB?, which would be correct.
read_buffer_size 2097152 seems to be 256 K, that is okey. it must not be more, it is session based
max_heap_table_size 67108864 Should be not more than 25 MB looks like you have 78MB??

Hmm and table_cache is not set?

I think I found two problems
max_tmp_tables 32    Maybe you should increase this to 64 tables or so.

Next problem are this variables
table_definition_cache 16384
table_open_cache 128
thread_cache_size 256

If there is no unit set (KB, M or so), then it is in Bit ( 8589934592b=>1024MB). table_open_cache  should be at least 96 MB. I think it is meant 128 MB, but maybe it is using bit and so the server is all the time caching on the harddisk.
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

caesarsk

ok, thx for help. this hosting is weak, hopefully it will solve dedicated server. thx for help

Maxim Pishnyak

I hope you are using testing period for this web hosting plan.

With such amount of categories, your project couldn't feel ok in SEO without web site map.

Check, quite informative posts about this issue from Franzpeter  ;) in this thread
https://forum.virtuemart.net/index.php?topic=114884.0

So you last resort could be only this sticked thread https://forum.virtuemart.net/index.php?topic=104612.0

Let see is your dedicated hosting is able to create web site map with CSVI help.
You can support Community by voting for Project on the JED
https://extensions.joomla.org/extension/virtuemart/#reviews
Join us at
https://twitter.com/virtuemart

caesarsk

hi all,
we finally found the problem (thanks to ISP technical support). very sorry, but this module (http://extensions.joomla.org/extensions/extension-specific/virtuemart-extensions/virtuemart-categories/19955) is causing the problem. I completely forget about it and I apologize to all contributors for my inattention.

I need to solve another problem. so I'm not creating a lot of categories, I need to do some modifications.
description of the situation (categories):

standard solution (category tree)
- Car brand (audi, bmw, VW, ford...) - level 1
-- model car (A1, A2, A3, A4, A5, A6, A7, A8, TT, Q5, Q7...) - level 2
--- car engine type (1,9 TDi, 1,9 TDi quattro, 1,8, 4,2, 3,7) - level 3
---- breaks - level 4
----- front  - level 5
----- rear - level 5
---- engine parts - level 4
----- bla bla 1 - level 5
----- bla bla 2 - level 5
----- bla bla 3 - level 5
and others 72 subcategories

I did not have to create XY thousands of categories (rough calculation is 2,5M categories :-\), I want to edit something like this

my solution:
- Car brand - level 1
-- model car - level 2
--- car engine type - level 3

(and now)
- breaks - level 1
-- front - level 2
-- rear - level 2
- engine parts - level 1
-- bla bla 1 - level 2
-- bla bla 2 - level 2
-- bla bla 3 - level 2
and others 72 subcategories

now I have to edit tmpl file to be me after filtered out specific motorization (brand -> model -> engine type) dont show product, but another subcategories tree (break part, engine part, body etc.) and then show specific products.

any suggestions how do I achieve this?

Maxim Pishnyak

Quote from: caesarsk on July 10, 2013, 21:19:54 PM
any suggestions how do I achieve this?
The next time I'll see the guy who have thousands or millions categories immediately will show me that poor try to work without custom fields and without manufactures.

MY suggestion for you - study Virtuemart system a bit deeply next time.
You can support Community by voting for Project on the JED
https://extensions.joomla.org/extension/virtuemart/#reviews
Join us at
https://twitter.com/virtuemart

caesarsk

thx for your reply, even if it is very creative, its information value is equal to zero. if you have a solution, I say thank you.
i need use categories, custom fields for me is not the solution.

solution is probably update this code in the file components/com_virtuemart/views/categories/view.html.php
$category->children = $cache->call( array( 'VirtueMartModelCategory', 'getChildCategoryList' ),$vendorId, $categoryId );
Whereas the need to preserve the original function of this code must be used IF.
It will look like this:
i create category tree:
- car parts
-- car brand
--- car model
---- car engine type
- subcategories
-- breaks
--- front
--- rear
-- engine
--- bla bla 1
--- bla bla 2
--- bla bla 3
(and other subcategories)

- tires
- fluids and oils

if (in SQL table prefix_virtuemart_categories field category_name == "car parts") {
if (last category in "car parts - car engine type") {
trace to category "subcategories" while maintaining the filter car parts -> brand  -> model-> engine type, and then show filtered products;
}

} else {
$category->children = $cache->call( array( 'VirtueMartModelCategory', 'getChildCategoryList' ),$vendorId, $categoryId );
}

can someone help me with a specific code?
thx

Maxim Pishnyak

#22
Quote from: caesarsk on July 11, 2013, 02:13:17 AM
thx for your reply, even if it is very creative, its information value is equal to zero. if you have a solution, I say thank you.
i need use categories, custom fields for me is not the solution.
Ofc value of my reply is equal to zero for guy who don't motivated to get back to planning stage in the process of creating his shop.

You not accidentally had problem with BOH module.
Something goes really really wrong with your project and this was just first signal.
As I wrote you could have problems in future with indexing your shop by google and with creating web site map. Thus problems in SEO.

You not using categories, you OVER use them.
Instead of hundreds categories, you're trying to use thousands and millions of them.

Try to tell here your very important reasons why you "need use categories" and "custom fields for me is not the solution".
I can't see why you keep this in secret.
You can support Community by voting for Project on the JED
https://extensions.joomla.org/extension/virtuemart/#reviews
Join us at
https://twitter.com/virtuemart

caesarsk

#23
so again, if you have a better solution (specific please), I'll be very happy to learn.

// edit
well, I'm probably an idiot, and my solution is wrong. Here is a link (http://www.autokelly.sk/#PATH=3345620|CT=16|SD=1) to what I want to achieve. if anyone has a solution that is better, very much please the lesson.

Maxim Pishnyak

Quote from: caesarsk on July 11, 2013, 09:58:47 AM
so again, if you have a better solution (specific please), I'll be very happy to learn.
if anyone has a solution that is better, very much please the lesson.
Guys, keep in mind mentioned solution could help to test Virtuemart under pressure of couple millions of categories. Hah!
You can support Community by voting for Project on the JED
https://extensions.joomla.org/extension/virtuemart/#reviews
Join us at
https://twitter.com/virtuemart

jjk

Quote from: caesarsk on July 11, 2013, 09:58:47 AM
so again, if you have a better solution (specific please), I'll be very happy to learn.

Maybe this VM2 shop might serve as a working example for you: http://www.westmidlandsvwparts.co.uk/
Non-English Shops: Are your language files up to date?
http://virtuemart.net/community/translations

caesarsk

thx jjk for example, but this shop is small for me. I imported to the shop all categories (14056) and VM running fast. at this point I dont see the problem. I have a problem to write code to work approximately the conditions under which I wrote above. I'm working on it.