Большая нагрузка на базу от MODELS

Post Reply
burn
Posts: 262
Joined: Wed Feb 01, 2017 11:27 am

Большая нагрузка на базу от MODELS

Post by burn »

Здравствуйте.
Добавили в сидж вывод моделей и после этого выросла нагрузка на базу.
ЦПУ бывает выше 1к%
В это время SHOW FULL PROCESSLIST выводит только вот такие запросы (их может быть больше сотни):

Code: Select all

SELECT m.model_id, m.model_slug, m.model_name, md.model_description, md.model_custom_var1, 
        md.model_custom_var2, md.model_custom_var3, m.model_total_galleries, md.model_average_ctr,      rt.thumb_url
        FROM rot_models as m
        JOIN rot_models_data as md ON m.model_id = md.model_id and site_id = '1'  
        LEFT JOIN rot_gallery_info as gi ON gi.gallery_type = 2 and m.model_id = gi.url 
        LEFT JOIN rot_thumbs AS rt ON rt.gallery_id = gi.gallery_id WHERE 1=1  AND m.model_total_galleries >= 1 ORDER BY md.model_average_ctr DESC LIMIT 0, 24
Из-за этих запросов и ЦПУ нагружается и таблицы блокируются, и как следствие трафик падает в нуль...
burn
Posts: 262
Joined: Wed Feb 01, 2017 11:27 am

Re: Большая нагрузка на базу от MODELS

Post by burn »

Code: Select all

EXPLAIN SELECT m.model_id, m.model_slug, m.model_name, md.model_description, md.model_custom_var1, md.model_custom_var2, md.model_custom_var3, m.model_total_galleries, md.model_average_ctr, rt.thumb_url FROM rot_models as m JOIN rot_models_data as md ON m.model_id = md.model_id and site_id = '1' LEFT JOIN rot_gallery_info as gi ON gi.gallery_type = 2 and m.model_id = gi.url LEFT JOIN rot_thumbs AS rt ON rt.gallery_id = gi.gallery_id WHERE 1=1  AND m.model_total_galleries >= 1 ORDER BY md.model_average_ctr DESC LIMIT 0, 24

Code: Select all

+----+-------------+-------+--------+------------------+--------------+---------+----------------------------------+-------+----------------------------------------------+
| id | select_type | table | type   | possible_keys    | key          | key_len | ref                              | rows  | Extra                                        |
+----+-------------+-------+--------+------------------+--------------+---------+----------------------------------+-------+----------------------------------------------+
|  1 | SIMPLE      | m     | ALL    | PRIMARY          | NULL         | NULL    | NULL                             | 12876 | Using where; Using temporary; Using filesort |
|  1 | SIMPLE      | md    | eq_ref | PRIMARY          | PRIMARY      | 8       | domain_com_scj.m.model_id,const |     1 | NULL                                         |
|  1 | SIMPLE      | gi    | ref    | url,gallery_type | gallery_type | 1       | const                            | 12877 | Using where                                  |
|  1 | SIMPLE      | rt    | ref    | gallery_id       | gallery_id   | 4       | domain_com_scj.gi.gallery_id    |     1 | NULL                                         |
+----+-------------+-------+--------+------------------+--------------+---------+----------------------------------+-------+----------------------------------------------+
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Большая нагрузка на базу от MODELS

Post by admin »

Скиньте плз дамп что б можно было потестировать сразу на нем эти запросы.
Don't forget to run script update
burn
Posts: 262
Joined: Wed Feb 01, 2017 11:27 am

Re: Большая нагрузка на базу от MODELS

Post by burn »

Скинул в PM.
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Большая нагрузка на базу от MODELS

Post by admin »

Да, спасибо, поправили в апедйте запрос - должно стать заметно лучше.
Don't forget to run script update
burn
Posts: 262
Joined: Wed Feb 01, 2017 11:27 am

Re: Большая нагрузка на базу от MODELS

Post by burn »

АПнул и вернул моделей в шаблон.
Прошли сутки - проблем не было.
Спасибо.

P.S.
после АПа не пишет версию билда:
Build No input file specified. (Lastest build: 201708221255 )
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Большая нагрузка на базу от MODELS

Post by admin »

Можно провести еще раз - будет писать )
Don't forget to run script update
Post Reply