Список форумов SeoChase SeoChase

 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы  РекламаРеклама   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

cool_shop: нагрузка на Mysql
На страницу Пред.  1, 2, 3  След.
 
Начать новую тему   Ответить на тему    Список форумов SeoChase -> Аффилиатские программы
Предыдущая тема :: Следующая тема  
Автор Сообщение
Kopch
Квоттер


Зарегистрирован: 19.09.2004
Сообщения: 55

СообщениеДобавлено: Пт Дек 07, 2007 7:07 pm    Заголовок сообщения: Ответить с цитатой

ХИТов
_________________
Make Money Online Blog
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Svift
Lincoln


Зарегистрирован: 22.07.2004
Сообщения: 327
Откуда: СССР

СообщениеДобавлено: Пт Дек 07, 2007 11:39 pm    Заголовок сообщения: Ответить с цитатой

кстати, яха может укладывать mysql... её боты жрут сайты дурниной просто... у меня такое было...
_________________
Как выходить из под фильтров Google?
Вот этими ссылками оч хорошо продвигаются магазины в Google и Yahoo
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Kopch
Квоттер


Зарегистрирован: 19.09.2004
Сообщения: 55

СообщениеДобавлено: Сб Дек 08, 2007 9:40 am    Заголовок сообщения: Ответить с цитатой

Подскажите плз, что делать с rand() этим? Как его убрать? Просто удалить из запроса? Он же наверное для чего-то там нужен? Ничем заменять ег оне надо?
_________________
Make Money Online Blog
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
!absolut
Квоттер


Зарегистрирован: 20.02.2005
Сообщения: 55

СообщениеДобавлено: Сб Дек 08, 2007 6:42 pm    Заголовок сообщения: Ответить с цитатой

Просто убрать rand() и запятую перед ним.
Он перемешивает id товаров в случайном порядке. Особо не нужен, но сомневаюсь что сильно быстрее станет.

Скажи, а сколько у тебя tmp_table_size? Это можно найти в phpmyadmin в разделе "Server variables and settings".
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Kopch
Квоттер


Зарегистрирован: 19.09.2004
Сообщения: 55

СообщениеДобавлено: Сб Дек 08, 2007 7:57 pm    Заголовок сообщения: Ответить с цитатой

!absolut писал(а):
Просто убрать rand() и запятую перед ним.
Он перемешивает id товаров в случайном порядке. Особо не нужен, но сомневаюсь что сильно быстрее станет.

Скажи, а сколько у тебя tmp_table_size? Это можно найти в phpmyadmin в разделе "Server variables and settings".


tmp table size 33554432(значение сессии) 33554432(глобальное значение)
_________________
Make Money Online Blog
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
!absolut
Квоттер


Зарегистрирован: 20.02.2005
Сообщения: 55

СообщениеДобавлено: Сб Дек 08, 2007 8:11 pm    Заголовок сообщения: Ответить с цитатой

Попробуй сделать в /etc/my.cnf:
tmp_table_size = 64M

Так же можно увеличить query_cache_limit в пару раз если позволяет память.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
arma
Дайм


Зарегистрирован: 20.08.2007
Сообщения: 13

СообщениеДобавлено: Сб Дек 08, 2007 9:13 pm    Заголовок сообщения: Ответить с цитатой

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?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
!absolut
Квоттер


Зарегистрирован: 20.02.2005
Сообщения: 55

СообщениеДобавлено: Вс Дек 09, 2007 9:22 am    Заголовок сообщения: Ответить с цитатой

Вот у меня более слабом сервере:
Код:

[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 записей. Сравни со своим.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
arma
Дайм


Зарегистрирован: 20.08.2007
Сообщения: 13

СообщениеДобавлено: Вс Дек 09, 2007 12:54 pm    Заголовок сообщения: Ответить с цитатой

!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 не получалось.. Sad
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
!absolut
Квоттер


Зарегистрирован: 20.02.2005
Сообщения: 55

СообщениеДобавлено: Вс Дек 09, 2007 3:06 pm    Заголовок сообщения: Ответить с цитатой

Перебор не перебор, а шоп работает исправно на сервере с 1гб памяти, при этом он еще занят постоянной раздачей mp3, файлов и держит еще несколько сайтов с серьезным трафиком + на него кладутся бекапы с другого сервера.

Помню большую нагрузку из-за тестового ювелирного шопа. На сколько помню, я взял его за основу для нового магазина. Потом поверх него поставил новый cool_shop. При обновлении базы были ошибки из-за last_modified, исправил и это. И сейчас шоп работает нормально.

Возможно у тебя та же проблема - старая база или база без индексов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
arma
Дайм


Зарегистрирован: 20.08.2007
Сообщения: 13

СообщениеДобавлено: Вс Дек 09, 2007 3:24 pm    Заголовок сообщения: Ответить с цитатой

!absolut писал(а):
Перебор не перебор, а шоп работает исправно на сервере с 1гб памяти, при этом он еще занят постоянной раздачей mp3, файлов и держит еще несколько сайтов с серьезным трафиком + на него кладутся бекапы с другого сервера.

Помню большую нагрузку из-за тестового ювелирного шопа. На сколько помню, я взял его за основу для нового магазина. Потом поверх него поставил новый cool_shop. При обновлении базы были ошибки из-за last_modified, исправил и это. И сейчас шоп работает нормально.

Возможно у тебя та же проблема - старая база или база без индексов.

Нет, скрипт новый. Сегодня для теста скачал заново cool_shop, поставил новый пирсинговый магазин..та же ситуация.. тормозит зараза.

Я не исключаю, что у меня конфиг mysql кривой, но что- то не похоже, судя по тому сколько разных подборок пробовал, где- то сутки убил на тесты разных конфигов- безрезультатно.
А какая у тебя версия mysql?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
!absolut
Квоттер


Зарегистрирован: 20.02.2005
Сообщения: 55

СообщениеДобавлено: Вс Дек 09, 2007 3:49 pm    Заголовок сообщения: Ответить с цитатой

Server version: 4.1.22-standard-log
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Доктор
Квоттер


Зарегистрирован: 19.09.2004
Сообщения: 450

СообщениеДобавлено: Вс Дек 09, 2007 10:34 pm    Заголовок сообщения: Ответить с цитатой

Вполне на самом деле возможно, что траффик просто уже достаточный, чтобы это стало критичным.
Лучше всего в этом случае наладить кеширование.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Доктор
Квоттер


Зарегистрирован: 19.09.2004
Сообщения: 450

СообщениеДобавлено: Вс Дек 09, 2007 10:38 pm    Заголовок сообщения: Ответить с цитатой

Хотя, про себя думаю, что траффик 30-40К - это МИНИМУМ пару сотен заказов в день... хм...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
!absolut
Квоттер


Зарегистрирован: 20.02.2005
Сообщения: 55

СообщениеДобавлено: Пн Дек 10, 2007 6:25 am    Заголовок сообщения: Ответить с цитатой

Доктор, хитов Smile У меня тоже 40к хитов по awstats'у, реальных же посетителей очень на много меньше Smile

arma, если не боишься, давай пароли, я посмотрю что и как. Уже самому интересно в чем причина.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов SeoChase -> Аффилиатские программы Часовой пояс: GMT
На страницу Пред.  1, 2, 3  След.
Страница 2 из 3

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group