А сколько запросов - норма?

tz-lom

Продвинутый новичок
Очевидно что чем меньше тем лучьше
но сейчас наткнулся на виртумарт который в отчёты валил что делает 200+ запросов в базу на одну страницу с товарами (может врёт конечно),и при этом нормально бегает на нагруженном ВДСе (что с учётом егойной перестановки на собственный ВДС большей производительности позволяет не окунать руки по локоть в это чудо)
Но вот подумал,а сколько простых селектов на страницу - нормальный и здоровый показатель не вызывающий бурю негодования и желание всё переделать
P.S.
конечно понятное дело что сервера у всех разные а статику можно решать кэшами , интересует приблизительная цифра на которую можно опереться
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
tz-lom
Месяц назад был топик про количество запросов.
В нем был единственный правильный ответ.
Это
"Главное не количество, а качество"
 

tz-lom

Продвинутый новичок
Mr_Max
кажется я разучился пользоваться поиском :D
 

skryisli

Новичок
Mr_Max написал(а):
Очевидно что чем меньше тем лучьше
Не факт. Слишком сложный запрос может грузануть мускуль сильнее десятка маленьких. Поэтому слишком здоровые запросы лучше разбить.
Ну и зависит от объёма базы и таблиц. Но тут тоже особо сильно мудрствовать не надо ибо чем сильнее разбита база, тем сложнее к ней запросы (см. выше).
Запрос в таблицу из 100к-200к строк, содержащий что-нибудь вроде ORDER BY RND() может и повесить мускуль.
А про норму... ну вопрос изначально некорректен. Мониторить надо не количество запросов, а загрузку сервера.
 

tz-lom

Продвинутый новичок
fixxxer
ага :)

согласен что вопрос ниочём,тогда спросим по другому - у вас сколько?
 

vovanium

Новичок
tz-lom
Какая разница сколько у нас? Проекты вообще-то разные, и количество запросов зависит и от информации выводящейся на страницу. Просто в идеале нужно проверять как будет работать выборка, на одном сложном, или нескольких легких запросах. Плюс можно добавлять лишние данные в таблицу, чтобы упрощать запросы.
Я например, придерживаюсь упрощения запроса (за счет денормализации, усложнения запросов в админке), а также максимальное уменьшение количества запросов. Чаще всего количество запросов не превышает 10, плюс кэширование. Например, главная страница sypex.net генерится за 3 запроса (один из них обновляет статистику, второй достает статистку, третий SET NAMES), без кэша запросов 6-7.
 

tz-lom

Продвинутый новичок
vovanium
дело в том что опыт иногда это просто статистика :)
я нисколько не спорю что всё зависит от кучи параметров
 

vovanium

Новичок
Просто замеряй сколько времени работает твой скрипт, при этом не на пустой базе с парой страниц контента, а желательно наполнить её хотя бы десятком тысяч страниц. Плюс сделай чтобы скрипт подсчитывал сколько времени тратится всего, сколько времени уходит на sql запросы, показывал эти самые запросы и время по каждому, тогда будешь видеть где может быть проблема.
Ведь ты спокойно можешь сделать запрос, который будет реактивно работать когда в таблице десяток записей, а когда записей будет на несколько порядков больше, его поведение может быть совсем другим, и может оказаться, что банально индекса по какому-то полю не хватает.
У меня, например, в CMS время выполнения пишется в лог статистики посещений, плюс если время выполнения больше 2 секунд, это считается аварийная ситуация, и в специальный лог сбрасывается все параметры вызова страницы, все sql запросы с временем выполнения.
 

tz-lom

Продвинутый новичок
vovanium
спасибо,о логировании нештатных ситуаций я как то не подумал
 
Сверху