LA 100
вот что админы написали:
В mysql очень много запросов висит на "Waiting for table metadata lock" - ожидают разблокировки таблиц. Разбираемся...
Пример долго выполняющегося запроса
SELECT gs.gallery_id, gs.thumb_id, gi.sponsor_id, gi.content_count, gi.content_type, gs.total_shows, gs.total_clicks, gs.total_ctr, gt.thumb_url, gd.*, gi.content_count, gi.crop_profile_id, gi.activation_date, gi.added_date, gi.duration, gi.url, gi.gallery_total_shows, gi.sponsor_id, gi.source_url, gi.custom_gallery FROM rot_gallery_stats15 as gs JOIN rot_gallery_data1 as gd on gd.gallery_id = gs.gallery_id JOIN rot_gallery_info as gi on gi.gallery_id = gs.gallery_id JOIN rot_thumbs as gt on gt.thumb_id = gs.thumb_id WHERE 1 = 1 AND gi.gallery_status = 'active' AND gi.gallery_type = 0 and gs.best_thumb = 'yes' and gs.group_id = 0 AND gs.gallery_id IN (SELECT rot_gal2tag.gallery_id FROM rot_gal2tag WHERE rot_gal2tag.tag_id IN ('36') ) AND gs.gallery_id NOT IN ('23457','23726','26802','32888','31558','45177','44628','16758','20591','19800','16139','21320','21446','21962','18028','16904','15362','19199','19740','23656','30397','23549','29533','23244') ORDER BY tested_thumb DESC, gs.total_ctr DESC LIMIT 0, 160# queryitems
"выполняться" они могут по 200..300 секунд.
Вот что выдаёт по ним explain:
+----+--------------+-------------+--------+--------------------------------------------------------------+------------+---------+------------------------------+-------+----------------------------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+--------------+-------------+--------+--------------------------------------------------------------+------------+---------+------------------------------+-------+----------------------------------------------------+
| 1 | SIMPLE | | ALL | NULL | NULL | NULL | NULL | NULL | Using where; Using temporary; Using filesort |
| 1 | SIMPLE | gd | eq_ref | PRIMARY | PRIMARY | 4 | .gallery_id | 1 | NULL |
| 1 | SIMPLE | gi | eq_ref | PRIMARY,sponsor_id,gallery_type,gallery_status | PRIMARY | 4 | .gallery_id | 1 | Using where |
| 1 | SIMPLE | gs | ref | unique_ids,best_thumb,gallery_id,thumb_id,tested_thumb_index | unique_ids | 7 | .gallery_id,const | 1 | Using where |
| 1 | SIMPLE | gt | ALL | PRIMARY | NULL | NULL | NULL | 28425 | Using where; Using join buffer (Block Nested Loop) |
| 2 | MATERIALIZED | rot_gal2tag | ref | tag_id,gallery_id | tag_id | 4 | const | 8090 | NULL |
+----+--------------+-------------+--------+--------------------------------------------------------------+------------+---------+------------------------------+-------+----------------------------------------------------+
т.е. в итоге обрабатывается не менее 28425 * 8090 = 229 958 250 записей.
tcms начал вешать сервер
-
GangstaBros
- Posts: 460
- Joined: Sun Jan 05, 2014 4:34 pm
Re: tcms начал вешать сервер
что этот запрос делает и почему он такой долгий?
-
GangstaBros
- Posts: 460
- Joined: Sun Jan 05, 2014 4:34 pm
Re: tcms начал вешать сервер
началось после какого-то из апдейтов - у нас кстати на всех tcms врубился галлери чекер зачем то . может в нем дело?
кодировку таблиц проверили - latin1 везде , раньше похожий баг был, когда слетали кодировки и юзались разные в пределах одной базы .
кодировку таблиц проверили - latin1 везде , раньше похожий баг был, когда слетали кодировки и юзались разные в пределах одной базы .
Re: tcms начал вешать сервер
Должно быть utf кодировка вообще у больших таблиц
в остальном скидывайте шел, разберемся какой именно запрос тормозит.
в остальном скидывайте шел, разберемся какой именно запрос тормозит.
Don't forget to run script update
Re: tcms начал вешать сервер
Да, спасибо, подправили еще один запрос под сайты которые на базе тагов сделаны.
Но все равно это конечно не так быстро как категории.
Но все равно это конечно не так быстро как категории.
Don't forget to run script update
-
GangstaBros
- Posts: 460
- Joined: Sun Jan 05, 2014 4:34 pm
Re: tcms начал вешать сервер
а ты вот на мастере хинт выкладывал по этому поводу,admin wrote:Да, спасибо, подправили еще один запрос под сайты которые на базе тагов сделаны.
Но все равно это конечно не так быстро как категории.
если на рабочем сайте так сделать - все ок будет? ничего там не развалицца , галеры рассортированы верно будут? цтр не последает никуда?
Re: tcms начал вешать сервер
не буду бросаться рекламными словами типа мы лучшие у нас ничего не падает и тп
ситуация такая:
от создания категория точно ничего не развалится
от распределниям по категория - аналогично. у вас же выведено по тагам
и теоретически после выбора тумб категоийдаже морды должны быть одинаковыми с возможностими небольшими раздичиями тк для тумб категорий стоит что лучшая тумба повторяться не может, а для тумб тагов - может.
но прямо такого что б я сделал сайт на тагах, раскрутил его и потом менял - нет, такого не тестировал.
в любом случае бекап, предварительно посмотреть на страницу с категориями вместо тагов и тп.
ситуация такая:
от создания категория точно ничего не развалится
от распределниям по категория - аналогично. у вас же выведено по тагам
и теоретически после выбора тумб категоийдаже морды должны быть одинаковыми с возможностими небольшими раздичиями тк для тумб категорий стоит что лучшая тумба повторяться не может, а для тумб тагов - может.
но прямо такого что б я сделал сайт на тагах, раскрутил его и потом менял - нет, такого не тестировал.
в любом случае бекап, предварительно посмотреть на страницу с категориями вместо тагов и тп.
Don't forget to run script update
Re: tcms начал вешать сервер
Да, и я с ходу не нашел файл что б массово првоести ап, поэтому начать так же стоит с него
Don't forget to run script update
-
GangstaBros
- Posts: 460
- Joined: Sun Jan 05, 2014 4:34 pm
Re: tcms начал вешать сервер
чета первый раз проблемы с обновлением:
25% (или 33%) downloaded NOTE !!! UPDATE IS NOT FINISHED !!!
Script can not open ../ for writing. Please, check permissions/file owner and run update again !!!
Права/владельцев/группы для файлов сайтов перезадавали, никакого эффекта.
Вот кусок из трассировки системных вызовов:
getcwd("/home/clients/ftp0/domains/dinain/html/scj/admin", 4096) = 62
open("/home/clients/ftp0/domains/domain/html/scj/", O_WRONLY|O_CREAT|O_TRUNC, 0666) = -1 EISDIR (Is a directory)
write(1, " NOTE !!! UPDA"..., 170 NOTE !!! UPDATE IS NOT FINISHED !!!
Script can not open ../ for writing. Please, check permissions/file owner and run update again !!!
) = 170
Такое впечатление, что производится попытка открыть каталог scj как файл.
25% (или 33%) downloaded NOTE !!! UPDATE IS NOT FINISHED !!!
Script can not open ../ for writing. Please, check permissions/file owner and run update again !!!
Права/владельцев/группы для файлов сайтов перезадавали, никакого эффекта.
Вот кусок из трассировки системных вызовов:
getcwd("/home/clients/ftp0/domains/dinain/html/scj/admin", 4096) = 62
open("/home/clients/ftp0/domains/domain/html/scj/", O_WRONLY|O_CREAT|O_TRUNC, 0666) = -1 EISDIR (Is a directory)
write(1, " NOTE !!! UPDA"..., 170 NOTE !!! UPDATE IS NOT FINISHED !!!
Script can not open ../ for writing. Please, check permissions/file owner and run update again !!!
) = 170
Такое впечатление, что производится попытка открыть каталог scj как файл.







