|
Текущее время: Пн май 21, 2012 4:42 pm
|
Сообщения без ответов | Активные темы
cool_shop: нагрузка на Mysql
| Автор |
Сообщение |
|
Квоттер
Зарегистрирован: Вс сен 19, 2004 12:23 pm Сообщения: 57
|
 cool_shop: нагрузка на Mysql
Привет
Есть несколько магазинов на дедике. Как только трафик начинает идти более-менее нормальный сразу жутко начинает тормозить мускуль. Саппорт ответил, что нагрузка связана с цитата "подозрение что виной тому трехстраничные запросы со вложенными джойнами" и предоставили запросы, которые тормозят БД.
Кто-то сталкивался? Как лечить?
_________________ Make Money Online Blog
|
| Чт ноя 22, 2007 9:56 pm |
|
 |
|
Квоттер
Зарегистрирован: Вс сен 19, 2004 12:23 pm Сообщения: 57
|
вот и запросы, на которые грешит саппорт:
Код: # Query_time: 12 Lock_time: 0 Rows_sent: 12 Rows_examined: 60381 use db1; select p.prdID as prdID,in_stock,quantity,url_name, price,p.price_type as price_type,spec_price,spec_time1,spec_time2, pn.price_type as price_type_new, cp.catID as catID,p.priority as priority, attributes,
IF(pn.name!='',pn.name,p.name) as name, # IF(pn.comment!='',pn.comment,p.comment) as comment,
IF(u1.uplID,u1.uplID,0) as uplID1, IF(u2.uplID,u2.uplID,0) as uplID2, # IF(u3.uplID,u3.uplID,0) as uplID3, IF(u1.img_not_loaded,u1.name,CONCAT(u1.path,'/',u1.name)) as fna me1, IF(u2.img_not_loaded,u2.name,CONCAT(u2.path,'/',u2.name)) as fna me2, # IF(u3.img_not_loaded,u3.name,CONCAT(u3.path,'/',u3.name)) as fna me3, u1.width as width1,u1.height as height1, u2.width as width2,u2.height as height2, # u3.width as width3,u3.height as height3, u1.img_not_loaded as img_not_loaded1, u2.img_not_loaded as img_not_loaded2 # u3.img_not_loaded as img_not_loaded3 from (sc_product as p,sc_category_prod as cp) left join sc_product_newval as pn on pn.prdID=p.prdID left join uploads1 as u1 on uplID1=u1.uplID left join uploads1 as u2 on uplID2=u2.uplID # left join uploads1 as u3 on uplID3=u3.uplID where p.active and cp.catID in (174,164,168,176,177,178,179,180,181,155, 153,154,156,157,158,182,187,175,152,162,166,167,169,170,171,172,173,160,161,163, 165,184,185,186,886,887,888,159,183) and time_available<=1195668837 and cp.prdID=p.prdID group by p.prdID order by p.num_choosed desc,p.price_type_new DESC,priority,is_new DESC,rand() limit 0,12;
-------------------------------------------------------------------------------
# Query_time: 21 Lock_time: 0 Rows_sent: 12 Rows_examined: 60352 use db2; select p.prdID as prdID,in_stock,quantity,url_name, price,p.price_type as price_type,spec_price,spec_time1,spec_time2, pn.price_type as price_type_new, cp.catID as catID,p.priority as priority, attributes,
IF(pn.name!='',pn.name,p.name) as name, # IF(pn.comment!='',pn.comment,p.comment) as comment,
IF(u1.uplID,u1.uplID,0) as uplID1, IF(u2.uplID,u2.uplID,0) as uplID2, # IF(u3.uplID,u3.uplID,0) as uplID3, IF(u1.img_not_loaded,u1.name,CONCAT(u1.path,'/',u1.name)) as fname1, IF(u2.img_not_loaded,u2.name,CONCAT(u2.path,'/',u2.name)) as fname2, # IF(u3.img_not_loaded,u3.name,CONCAT(u3.path,'/',u3.name)) as fname3, u1.width as width1,u1.height as height1, u2.width as width2,u2.height as height2, # u3.width as width3,u3.height as height3, u1.img_not_loaded as img_not_loaded1, u2.img_not_loaded as img_not_loaded2 # u3.img_not_loaded as img_not_loaded3 from (sc_product as p,sc_category_prod as cp) left join sc_product_newval as pn on pn.prdID=p.prdID left join uploads1 as u1 on uplID1=u1.uplID left join uploads1 as u2 on uplID2=u2.uplID # left join uploads1 as u3 on uplID3=u3.uplID where p.active and cp.catID in (174,164,168,176,177,178,179,180,181,155, 153,154,156,157,158,182,187,175,152,162,166,167,169,170,171,172,173,160,161,163, 165,184,185,186,886,887,888,159,183) and time_available<=1195668894 and cp.prdID=p.prdID group by p.prdID order by p.num_choosed desc,p.price_type_new DESC,priority,is_new DESC,rand() limit 0,12;
-------------------------------------------------------------------------------
# Query_time: 12 Lock_time: 0 Rows_sent: 10 Rows_examined: 78083 use db3; select p.prdID as prdID,p.priority as priority,url_name, IF(pn.name!='',pn.name,p.name) as name,cp.catID as catID, IF(attributes!='',1,0) as attributed, p.price_type as price_type,price,spec_price,spec_time1,spec_time2, pn.price_type as price_type_new from (sc_product as p,sc_category_prod as cp) left join sc_product_newval as pn on pn.prdID=p.prdID where p.active and p.in_stock and cp.catID in (199,302,531,286,532,559, 297,492,287,490,560,489,488,491,487,289,290,291,294,292,298,300,486,192,520,206, 207,205,200,208,219,511,214,203,204,202,213,220,507,209,211,210,217,212,215,193, 349,362,363,364,347,360,340,333,354,359,331,341,345,334,348,332,342,226,329,330, 195,257,542,260,522,529,543,535,2636,244,245,254,256,306,1306,242,240,259,248,249 ,250,251,253,262,303,304,305,497,510,238,307,194,528,541,232,233,236,493,231,237 ,234,512,198,524,277,548,276,275,509,521,536,279,197,225,246,247,273,274,272,196 ,269,498,267,271,495,266,218,313,239,309,316,540,319,318,317,263,264,265,326,365 ,366,367,368,369,370,371,503,314,320,321,322,323,325,327,328,494,501,502,514,582 ,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,578,580,581,583,312 ,586,324,539,315,499,505,968,513,516) and time_available<=1195668919 and cp.prdID=p.prdID group by p.prdID order by priority,rand() limit 10;
-------------------------------------------------------------------------------
# Query_time: 11 Lock_time: 0 Rows_sent: 10 Rows_examined: 31707 use db2; select p.prdID as prdID,p.priority as priority,url_name, IF(pn.name!='',pn.name,p.name) as name,cp.catID as catID, IF(attributes!='',1,0) as attributed, p.price_type as price_type,price,spec_price,spec_time1,spec_time2, pn.price_type as price_type_new from (sc_product as p,sc_category_prod as cp) left join sc_product_newval as pn on pn.prdID=p.prdID where p.active and p.in_stock and cp.catID in (174,164,168,176,177,178, 179,180,181,155,153,154,156,157,158,182,187,175,152,162,166,167,169,170,171,172, 173,160,161,163,165,184,185,186,886,887,888,159,183) and time_available<=1195668919 and cp.prdID=p.prdID group by p.prdID order by priority,rand() limit 10;
-------------------------------------------------------------------------------
# Query_time: 11 Lock_time: 0 Rows_sent: 10 Rows_examined: 18262 use db4; select p.prdID as prdID,p.priority as priority,url_name, IF(pn.name!='',pn.name,p.name) as name,cp.catID as catID, IF(attributes!='',1,0) as attributed, p.price_type as price_type,price,spec_price,spec_time1,spec_time2, pn.price_type as price_type_new from (sc_product as p,sc_category_prod as cp) left join sc_product_newval as pn on pn.prdID=p.prdID where p.active and p.in_stock and cp.catID in (381,383,2,8,9,10,11,12,13, 14,16,406,460,555,584,587,882,967,384,17,18,19,20,21,31,22,23,24,27,32,5,98,6,35, 25,382,30,3,7,26,4,28,29,33,376,380,405,556,515) and time_available<=1195668936 and cp.prdID=p.prdID group by p.prdID order by priority,rand() limit 10;
-------------------------------------------------------------------------------
# Query_time: 13 Lock_time: 0 Rows_sent: 10 Rows_examined: 31736 use db1; select p.prdID as prdID,p.priority as priority,url_name, IF(pn.name!='',pn.name,p.name) as name,cp.catID as catID, IF(attributes!='',1,0) as attributed, p.price_type as price_type,price,spec_price,spec_time1,spec_time2, pn.price_type as price_type_new from (sc_product as p,sc_category_prod as cp) left join sc_product_newval as pn on pn.prdID=p.prdID where p.active and p.in_stock and cp.catID in (174,164,168,176,177,178, 179,180,181,155,153,154,156,157,158,182,187,175,152,162,166,167,169,170,171,172, 173,160,161,163,165,184,185,186,886,887,888,159,183) and time_available<=1195669122 and cp.prdID=p.prdID group by p.prdID order by priority,rand() limit 10;
-------------------------------------------------------------------------------
use db4; select p.prdID as prdID,in_stock,quantity,url_name, price,p.price_type as price_type,spec_price,spec_time1,spec_time2, pn.price_type as price_type_new, cp.catID as catID,p.priority as priority, attributes,
IF(pn.name!='',pn.name,p.name) as name, # IF(pn.comment!='',pn.comment,p.comment) as comment,
IF(u1.uplID,u1.uplID,0) as uplID1, IF(u2.uplID,u2.uplID,0) as uplID2, # IF(u3.uplID,u3.uplID,0) as uplID3, IF(u1.img_not_loaded,u1.name,CONCAT(u1.path,'/',u1.name)) as fname1, IF(u2.img_not_loaded,u2.name,CONCAT(u2.path,'/',u2.name)) as fname2, # IF(u3.img_not_loaded,u3.name,CONCAT(u3.path,'/',u3.name)) as fname3, u1.width as width1,u1.height as height1, u2.width as width2,u2.height as height2, # u3.width as width3,u3.height as height3, u1.img_not_loaded as img_not_loaded1, u2.img_not_loaded as img_not_loaded2 # u3.img_not_loaded as img_not_loaded3 from (sc_product as p,sc_category_prod as cp) left join sc_product_newval as pn on pn.prdID=p.prdID left join uploads1 as u1 on uplID1=u1.uplID left join uploads1 as u2 on uplID2=u2.uplID # left join uploads1 as u3 on uplID3=u3.uplID where p.active and cp.catID in (381,383,2,8,9,10,11,12,13,14,16,406,460, 555,584,587,882,967,384,17,18,19,20,21,31,22,23,24,27,32,5,98,6,35,25,382,30,3,7 ,26,4,28,29,33,376,380,405,556,515) and time_available<=1195669122 and cp.prdID=p.prdID group by p.prdID order by p.num_choosed desc,p.price_type_new DESC,priority,is_new DESC,rand() limit 315,15;
-------------------------------------------------------------------------------
# Query_time: 11 Lock_time: 0 Rows_sent: 1 Rows_examined: 28671 use db1; select count(DISTINCT p.prdID) from (sc_product as p, sc_category_prod as cp) left join sc_product_newval as pn on p.prdID=pn.prdID where p.active and cp.catID in (174,164,168,176,177,178, 179,180,181,155,153,154,156,157,158,182,187,175,152,162,166,167,169,170,171,172, 173,160,161,163,165,184,185,186,886,887,888,159,183) and time_available<=1195669129 and cp.prdID=p.prdID and ((IF(pn.name!='',pn. name,p.name) rlike '[[:<:]]18[[:alnum:]]*[[:>:]]' and IF(pn.name!='',pn.name,p.n ame) rlike '[[:<:]]ga[[:alnum:]]*[[:>:]]' and IF(pn.name!='',pn.name,p.name) rli ke '[[:<:]]barbell[[:alnum:]]*[[:>:]]'));
_________________ Make Money Online Blog
|
| Чт ноя 22, 2007 10:04 pm |
|
 |
|
Квоттер
Зарегистрирован: Пн мар 13, 2006 6:13 pm Сообщения: 44
|
версия мускула?
врублено ли в БД кэширование и т.п. ?
_________________ Конвертим финансовый траффик, деньги в куб, неанонимных буржуев, меломанов
|
| Сб ноя 24, 2007 8:42 am |
|
 |
|
Квоттер
Зарегистрирован: Вс сен 19, 2004 12:23 pm Сообщения: 57
|
MySQL 4.1.18
Насчет остального я не очень разбираюсь в этом... Если бы ты подсказал, что именно надо узнать (что ты подразумевал под "т.п.") то я бы все у саппорта выяснил.
_________________ Make Money Online Blog
|
| Вс ноя 25, 2007 1:24 pm |
|
 |
|
Lincoln
Зарегистрирован: Чт июл 01, 2004 12:42 pm Сообщения: 1024 Откуда: Новокузнецк
|
Я уже давно хочу сделать шоп на статике, вот только впереди маячет новый движок, так что х.з., то ли надо ждать, то ли надо делать 
_________________ Дешевые домены за Webmoney
|
| Вс ноя 25, 2007 5:12 pm |
|
 |
|
Квоттер
Зарегистрирован: Вс сен 19, 2004 12:23 pm Сообщения: 57
|
Никто не сталкивался с такой проблемой? Т.е. выходит дело непосредственно в моем хостинге, скрипт не при чем?
Может кто-то подскажет, что можно сделать, чтобы решить проблему?
Саппорт советует оформить запросы по другому, но я если честно боюсь лезть туда. Может как-то со стороны сервера что-то подкрутить-настроить?
Пасиб
_________________ Make Money Online Blog
|
| Чт дек 06, 2007 11:32 pm |
|
 |
|
Lincoln
Зарегистрирован: Пт июл 23, 2004 12:22 am Сообщения: 385 Откуда: СССР
|
а вариант взять другой хостинг не рассматривается? ощущение такое, что либо у вас не дедик вовсе, либо софт на нем настроен "нестандартно"
_________________ Как выходить из под фильтров Google?
Вот этими ссылками оч хорошо продвигаются магазины в Google и Yahoo
|
| Пт дек 07, 2007 12:30 am |
|
 |
|
Квоттер
Зарегистрирован: Пн мар 13, 2006 6:13 pm Сообщения: 44
|
для мускула обязательно надо врубать кеши и давать ему под эти кэши поболе памяти, см. детали в гугле - статей хватает.
_________________ Конвертим финансовый траффик, деньги в куб, неанонимных буржуев, меломанов
|
| Пт дек 07, 2007 2:51 am |
|
 |
|
Квоттер
Зарегистрирован: Вс сен 19, 2004 11:31 am Сообщения: 531
|
Интересно, что такое "более-менее нормальный" траффик. Может, это сотня посетителей в минуту?
|
| Пт дек 07, 2007 6:52 am |
|
 |
|
Квоттер
Зарегистрирован: Вс фев 20, 2005 5:14 am Сообщения: 56
|
Выполнил запрос на ювелирке:
Showing rows 0 - 9 (10 total, Query took 0.5694 sec)
Так что видимо памяти не хватает. Либо трафика 20к в день 
|
| Пт дек 07, 2007 2:45 pm |
|
 |
|
Квоттер
Зарегистрирован: Чт апр 05, 2007 6:52 pm Сообщения: 182
|
Привет, Всем
cкажите а зачем сортировать по функции, тем более такой славной как RAND?
кусок из запроса:
order by priority,rand()
вот смотрите:
- сначал происходит поиск элементов на выдачу, связывание таблиц, по кулючам, оптимизация по индексам и т.д.
- потом их сортировка, по полям, для каждого элемента происходит вычисление ф-ции rand, его установка, потом сортировка всей выборки, все это дело проходит в памяти. Если указанное время в сек. то можно утверждать точно, сервак ушел в своп.
-потом paging - Limit I, K
|
| Пт дек 07, 2007 5:41 pm |
|
 |
|
Квоттер
Зарегистрирован: Чт апр 05, 2007 6:52 pm Сообщения: 182
|
самы простой способ узнать запрос тормозт или нет
выполнить execution plan для запроса, там все будет показано....
|
| Пт дек 07, 2007 5:49 pm |
|
 |
|
Квоттер
Зарегистрирован: Вс сен 19, 2004 11:31 am Сообщения: 531
|
То, что rand очень сильно тормозит запросы - это безусловно. У кого есть проблемы с тормозами, поубирайте эти rand()
|
| Пт дек 07, 2007 6:08 pm |
|
 |
|
Квоттер
Зарегистрирован: Вс сен 19, 2004 12:23 pm Сообщения: 57
|
2Svift На этом хостинге еще два дедика под другие нужды - все ок.
То что это дедик - это точно  Настроен стандартно.
Вот насчет кешей неуверен, буду мучать саппорт.
2Доктор - трафик суммарный на магазины порядка 30-40к хитов в сутки
Насчет rand(). Где это убрать? Как? просто убрать или заменить на что-то?
_________________ Make Money Online Blog
|
| Пт дек 07, 2007 6:19 pm |
|
 |
|
Lincoln
Зарегистрирован: Пт июл 23, 2004 12:22 am Сообщения: 385 Откуда: СССР
|
Цитата: 30-40к хитов в сутки хИТов или хОСТов?
_________________ Как выходить из под фильтров Google?
Вот этими ссылками оч хорошо продвигаются магазины в Google и Yahoo
|
| Пт дек 07, 2007 10:28 pm |
|
 |
|
Квоттер
Зарегистрирован: Вс сен 19, 2004 12:23 pm Сообщения: 57
|
ХИТов
_________________ Make Money Online Blog
|
| Пт дек 07, 2007 11:07 pm |
|
 |
|
Lincoln
Зарегистрирован: Пт июл 23, 2004 12:22 am Сообщения: 385 Откуда: СССР
|
кстати, яха может укладывать mysql... её боты жрут сайты дурниной просто... у меня такое было...
_________________ Как выходить из под фильтров Google?
Вот этими ссылками оч хорошо продвигаются магазины в Google и Yahoo
|
| Сб дек 08, 2007 3:39 am |
|
 |
|
Квоттер
Зарегистрирован: Вс сен 19, 2004 12:23 pm Сообщения: 57
|
Подскажите плз, что делать с rand() этим? Как его убрать? Просто удалить из запроса? Он же наверное для чего-то там нужен? Ничем заменять ег оне надо?
_________________ Make Money Online Blog
|
| Сб дек 08, 2007 1:40 pm |
|
 |
|
Квоттер
Зарегистрирован: Вс фев 20, 2005 5:14 am Сообщения: 56
|
Просто убрать rand() и запятую перед ним.
Он перемешивает id товаров в случайном порядке. Особо не нужен, но сомневаюсь что сильно быстрее станет.
Скажи, а сколько у тебя tmp_table_size? Это можно найти в phpmyadmin в разделе "Server variables and settings".
|
| Сб дек 08, 2007 10:42 pm |
|
 |
|
Квоттер
Зарегистрирован: Вс сен 19, 2004 12:23 pm Сообщения: 57
|
!absolut писал(а): Просто убрать rand() и запятую перед ним. Он перемешивает id товаров в случайном порядке. Особо не нужен, но сомневаюсь что сильно быстрее станет.
Скажи, а сколько у тебя tmp_table_size? Это можно найти в phpmyadmin в разделе "Server variables and settings".
tmp table size 33554432(значение сессии) 33554432(глобальное значение)
_________________ Make Money Online Blog
|
| Сб дек 08, 2007 11:57 pm |
|
 |
|
Квоттер
Зарегистрирован: Вс фев 20, 2005 5:14 am Сообщения: 56
|
Попробуй сделать в /etc/my.cnf:
tmp_table_size = 64M
Так же можно увеличить query_cache_limit в пару раз если позволяет память.
|
| Вс дек 09, 2007 12:11 am |
|
 |
|
Дайм
Зарегистрирован: Пн авг 20, 2007 5:28 pm Сообщения: 13
|
Kopch писал(а): Никто не сталкивался с такой проблемой? Т.е. выходит дело непосредственно в моем хостинге, скрипт не при чем? Может кто-то подскажет, что можно сделать, чтобы решить проблему? Саппорт советует оформить запросы по другому, но я если честно боюсь лезть туда. Может как-то со стороны сервера что-то подкрутить-настроить?
Пасиб
У меня тоже такая штука.
Dual Xeon 2 x 2.80GHz; mysql 4.1.22-log, PHP 5.2.1
Сервер свой, не нагружен, при этом слишком долго грузится ювелирный шоп, где много Item'ов. Watches шоп- как категория из ювелирки- нормально работает, но там всего 500+ item'ов.
Когда ходишь по шопу- mysql очень сильно грызет процессор.
Вот скорость полной загрузки главной страницы согласно iwebtool.com/speed_test. Оба домена на одном сервере.
Код: Domain name Size Load Time Average Speed per KB 1 watches.domain 27.07 KB 0.33 seconds 0.01 seconds 2 jewelry.domain 48.89 KB 4.31 seconds 0.09 seconds
У 1. на главной - Bestsellers: 526 items У 2. на главной - Specials Products: 480 items Под mysql выделено нормально кэша, настраивалось так после недели работы mysql, чтобы ни один из кэшей и буфферов не был переполнен и в то же время был запас. Памяти всего на сервере 2Гб, свободная всегда есть. my.cnf: Код: max_connections=100 thread_concurrency=4
skip-name-resolve skip-networking skip-slave-start skip-locking skip-innodb skip-bdb query_cache_wlock_invalidate=ON query_cache_limit=2M query_cache_size=164M query_cache_type=1
tmp_table_size = 64M max_heap_table_size = 64M join_buffer_size = 256K
interactive_timeout=100 wait_timeout=20 connect_timeout=10
thread_cache_size=90 thread_cache=90 key_buffer=16M key_buffer_size = 4M join_buffer=512K table_cache=1024 sort_buffer_size=612K read_buffer_size=612K read_rnd_buffer_size=612K max_connect_errors=100 myisam_sort_buffer_size=8M
До этого пробовал разные конфиги, с огромными кэшами и буфферами- не помогает. Mysql очень сильно грызет процессор в тот момент, когда запрашивается что- то на ювелирном шопе. Единственное, в phpMyAdmin CHECK TABLEs выдает: Код: Problems with indexes of table `sc_product` More than one INDEX key was created for column `active`
но меня это не смутило, потому что другой шоп (watches) выдает такое же при "check table"s. из slow.log: Код: # Time: 071202 1:57:46 # User@Host: database-com[database-com] @ localhost [] # Query_time: 19 Lock_time: 0 Rows_sent: 15 Rows_examined: 69292 select p.prdID as prdID,in_stock,quantity,url_name, price,p.price_type as price_type,spec_price,spec_time1,spec_time2, pn.price_type as price_type_new, cp.catID as catID,p.priority as priority, attributes,
IF(pn.name!='',pn.name,p.name) as name, # IF(pn.comment!='',pn.comment,p.comment) as comment,
IF(u1.uplID,u1.uplID,0) as uplID1, IF(u2.uplID,u2.uplID,0) as uplID2, # IF(u3.uplID,u3.uplID,0) as uplID3, IF(u1.img_not_loaded,u1.name,CONCAT(u1.path,'/',u1.name)) as fname1, IF(u2.img_not_loaded,u2.name,CONCAT(u2.path,'/',u2.name)) as fname2, # IF(u3.img_not_loaded,u3.name,CONCAT(u3.path,'/',u3.name)) as fname3, u1.width as width1,u1.height as height1, u2.width as width2,u2.height as height2, # u3.width as width3,u3.height as height3, u1.img_not_loaded as img_not_loaded1, u2.img_not_loaded as img_not_loaded2 # u3.img_not_loaded as img_not_loaded3 from (sc_product as p,sc_category_prod as cp) left join sc_product_newval as pn on pn.prdID=p.prdID left join uploads1 as u1 on uplID1=u1.uplID left join uploads1 as u2 on uplID2=u2.uplID # left join uploads1 as u3 on uplID3=u3.uplID where p.active and cp.catID in (199,302,531,286,532,559,297,492,287,490,560, 489,488,491,487,289,290,291,294,292,298,300,486,192,520,206,207,205,200,208, 219,511,214,203,204,202,213,220,507,209,211,210,217,212,215,193,349,362,363, 364,347,360,340,333,354,359,331,341,345,334,348,332,342,226,329,330,195,257, 542,260,522,529,543,535,2636,244,245,254,256,306,1306,242,240,259,248,249,250 ,251,253,262,303,304,305,497,510,238,307,194,528,541,232,233,236,493,231,237, 234,512,198,524,277,548,276,275,509,521,536,279,197,225,246,247,273,274,272,196 ,269,498,267,271,495,266,218,313,239,309,316,540,319,318,317,263,264,265,326, 365,366,367,368,369,370,371,503,314,320,321,322,323,325,327,328,494,501,502,514 ,582,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,578,580,581, 583,312,586,324,539,315,499,505,968,513,516) and time_available<=1196553446 and cp.prdID=p.prdID and ((p.price_type=1 and spec_time1<=1196553446 and (!spec_time2 or spec_time2>=1196553446)) or pn.price_type=1) group by p.prdID order by p.price_type_new DESC,priority,is_new DESC,name limit 465,15;
Any ideas?
|
| Вс дек 09, 2007 1:13 am |
|
 |
|
Квоттер
Зарегистрирован: Вс фев 20, 2005 5:14 am Сообщения: 56
|
Вот у меня более слабом сервере:
Код: [mysqld] set-variable = max_connections=500 safe-show-database long_query_time = 2 log-slow-queries = /var/log/mysql/mysql-slow.log
key_buffer = 320M myisam_sort_buffer_size = 128M join_buffer_size = 16M read_buffer_size = 16M sort_buffer_size = 16M table_cache = 1024 thread_cache_size = 286 interactive_timeout = 25 wait_timeout = 1800 connect_timeout = 10 max_allowed_packet = 1M max_connect_errors = 20 query_cache_limit = 16M query_cache_size = 64M query_cache_type = 1 tmp_table_size = 64M
При этом в таблице sc_product всего 15096 записей. Сравни со своим.
|
| Вс дек 09, 2007 1:22 pm |
|
 |
|
Дайм
Зарегистрирован: Пн авг 20, 2007 5:28 pm Сообщения: 13
|
!absolut писал(а): Вот у меня более слабом сервере: При этом в таблице sc_product всего 15096 записей. Сравни со своим.
Спасибо..но я разные конфиги пробовал, и такие тоже, да и твой конфиг сейчас попробовал- ситуация со скоростью не изменилась, повторюсь- потому что буфферы и кэши не переполнены и запас памяти в приведенном мной конфиге есть.
У тебя на 1 коннект mysql выходит около 50 MB, это перебор. Если у тебя 2гб памяти, то макимальное количество коннектов будет 40, при этом если считать что все будет использоваться под mysql.
Уже при 30 одновременных коннектов у тебя начнется нехватка оперативки и и использование свопа->а это тормоза сервера и сервера в таком случае падают.
500сonn х 50Mb= Maximum possible memory usage: 24.9G
Проблема не в буфферах и кэшах Mysql, а в том что mysql, выполняя именно запросы скрипта cool_shop очень сильно грызут процессор и поэтому долго обрабатываются.. Не знаю с чем это связано и как побороть..Магазин все равно отвечает больше чем за 3 секунды. Меньших значений при других настройках mysql не получалось..

|
| Вс дек 09, 2007 4:54 pm |
|
 |
|
Квоттер
Зарегистрирован: Вс фев 20, 2005 5:14 am Сообщения: 56
|
Перебор не перебор, а шоп работает исправно на сервере с 1гб памяти, при этом он еще занят постоянной раздачей mp3, файлов и держит еще несколько сайтов с серьезным трафиком + на него кладутся бекапы с другого сервера.
Помню большую нагрузку из-за тестового ювелирного шопа. На сколько помню, я взял его за основу для нового магазина. Потом поверх него поставил новый cool_shop. При обновлении базы были ошибки из-за last_modified, исправил и это. И сейчас шоп работает нормально.
Возможно у тебя та же проблема - старая база или база без индексов.
|
| Вс дек 09, 2007 7:06 pm |
|
|
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0 |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения
|
|