Подсчёт кол-ва галер для модели

richmantrade
Posts: 1036
Joined: Tue Dec 04, 2012 8:46 am

Подсчёт кол-ва галер для модели

Post by richmantrade »

Можно ли сделать возможность отключать это дело.
В идеале, я это вижу так:
Я сделал новый сайт, он постепенно наполняется контентом (галереи, модели). В самом начале знать точное кол-во галерей для модели действительно важно, т.к. используются вещи, типа <model min_gallery_count num=1-10>
Но спустя какое-то время галерей и моделей становиться очень много, и уже, по идее точное кол-во не так важно. Зато подсчёт этого дела очень тяжёлый и долгоиграющий. Вот, к примеру сайт: 74 281 галерей, 16 542 моделей. В табличке rot_gal2model - 118 005 Records

Вот, вижу висит запрос в мускуле (и естественно все остальные его ждут):

Code: Select all

SELECT  md.*, m.model_id as model_id, m.model_slug, m.model_name,
        gi.url, gi.gallery_id, rt.thumb_id, rt.height, rt.width, rt.thumb_url, rt.extra_thumb, rt.extra_thumb2, rt.extra_thumb3,
        m.model_total_galleries, md.model_average_ctr FROM rot_models as m   JOIN ( SELECT m2.model_id AS mod_id
                FROM rot_models AS m2
                JOIN rot_models_data as md2 ON m2.model_id = md2.model_id and site_id = '1'
                WHERE 1 = 1   AND m2.model_id IN ('97','97','1580','2020','2726','2727','2728', 
                
                '12868','1789','2812','2813','13685','16062','16187','2812','2813','7483','1469','1580','1580','2460')  ORDER BY  model_name  ) 
                AS b ON b.mod_id = m.model_id  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.url = m.model_id AND gi.gallery_type = 2 and gi.source_url = '1'
        LEFT JOIN rot_thumbs AS rt ON rt.gallery_id = gi.gallery_id  WHERE 1 = 1
Он уже 187 сек длиться, и это же не конец.
Короче говоря, хотелось бы иметь возможность отключать этот подсчёт вручную.
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: Подсчёт кол-ва галер для модели

Post by admin »

Это не подсчет, это вероятно пагинация моделей
какой был статус у запроса? может вы думаете что он работает, а по факту он чего-то другого в этот момент ждет
Don't forget to run script update
richmantrade
Posts: 1036
Joined: Tue Dec 04, 2012 8:46 am

Re: Подсчёт кол-ва галер для модели

Post by richmantrade »

Статус Sending.
Пагинации моделей нет на сайте. Что еще это может быть ?
Есть такие конструкции в шаблонах, касательно моделей:
<model_list num=1-1> - это в сабтемплейтах
<model_list num=1-10> - на галереях
<models num=1-18 order=count_galleries> // пагинации здесь нет
<models num=1-300 min_gallery_count=1 order=count_galleries> // пагинации здесь нет
И в шаблоне model_list
<models num=1-18 order=count_galleries>
<models num=1-200 model_first_letter=a>
....
<models num=1-200 model_first_letter=z>
Пагинации нет
Attachments
Screenshot_2.png
Screenshot_2.png (12.38 KiB) Viewed 1486 times
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: Подсчёт кол-ва галер для модели

Post by admin »

думаю будет сильно продуктивнее если вы скинете шел и что где как смотреть
Don't forget to run script update
richmantrade
Posts: 1036
Joined: Tue Dec 04, 2012 8:46 am

Re: Подсчёт кол-ва галер для модели

Post by richmantrade »

Пока не могу сделать доступ, есть сложности с этим. Значит пока вопрос снимается.
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: Подсчёт кол-ва галер для модели

Post by admin »

ок, можно ради етста админку или дамп, я подниму у себя и проверю скорость запроса
Don't forget to run script update
richmantrade
Posts: 1036
Joined: Tue Dec 04, 2012 8:46 am

Re: Подсчёт кол-ва галер для модели

Post by richmantrade »

Это можно. Сейчас отпишу в PM
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: Подсчёт кол-ва галер для модели

Post by admin »

ok
Don't forget to run script update
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: Подсчёт кол-ва галер для модели

Post by admin »

вместе с полным запросом который будем тестировать плз
Don't forget to run script update
richmantrade
Posts: 1036
Joined: Tue Dec 04, 2012 8:46 am

Re: Подсчёт кол-ва галер для модели

Post by richmantrade »

Хочу вернуться к этому вопросу. Но теперь уже с уточнениями.
Было замечено (что естественно само собой), что если проц нагружен - такие запросы очень долгие, если нагрузки нет - всё очень даже быстро. Мы анализировали, и пришли к выводу, что именно огромный поток этих запросов и поднимает нагрузку. Ну а дальше - как нарастающий ком.

А ещё я говорил, что на этом сайте, в шаблонах есть конструкция:
<model_list num=1-1><!--MODEL_NAME--></model_list> - в сабтемплейтах
Более того - чисто случайно так сложилось, что именно на этом сервере доменов с такой конструкцией в шаблонах много, более 20 штук.

И вот как получалось: На индексе 100 тумб, и когда экспарился кеш нужно сделать куча таких запросов. А на сайте ведь не только index , есть и другие шаблоны. Ну и самое главное - это количество таких вот доменов на сервере.

В общем, как только я убрал это (<model_list num=1-1><!--MODEL_NAME--></model_list> - в сабтемплейтах) - серверу резко полегчало и всё стало хорошо. Горы/тучи этих запросов в мускуле пропали.

А теперь, внимание вопрос!
Можно ли как то именно вот принадлежность моделей к галерее (<model_list>) кешировать на ОЧЕЕЕНЬ долго ? Т.е. не тот общий Cache time, seconds, из rotation->settings , и не Cache time, seconds из настроек шаблона. А вот как то на очень много. Я сильно сомневаюсь, что у галереи часто меняются модели, и именно это можно сложить в кеш на вечно.
Post Reply