Ага, т.е. падение могло быть не по вине вашего сайта, а по вине какого-то другого сайта, который положил СУБД хостера?
С вашей CMS я не знаком, поэтому не скажу, как именно подсчитать число запросов БД. Но если бы такая задача была поставлена...
1) Разворачиваем сайт на Win- Denwer
2) разворачиваем реальную базу с сайта
3) ищем в скриптах место, в котором РНР обращается к MySQL, и ставим там инкрементирующий счётчик. Например, пишем в файл строчку. По окончании загрузки страницы открываем файл и считаемч число строк. (Если есть время разобраться с CMS, то можно и более красивый счётчик сочинить)
4) повторяем процедуру для разных страниц. Записываем результаты измерений.
postavkin, если вам так будет понятнее, то советую оформить код выборки из БД в отдельную функцию (или метод класса, если используется ООП). А потом вызывать эту функцию в обоих файлах. Так вы избежите дублирования кода.
Можно использовать класс и уточнение класса. Например:
<div class="my-class-1 detail-1">...</div>
<div class="my-class-1 detail-2">...</div>
...
<div class="my-class-2 detail-1">...</div>
А в CSS файле используем для определения стиля такие конструкции:
.my-class-1 {...}
.my-class-2 {...}
/* в следующих строчках нет пробела в CSS-селекторе*/
.my-class-1.detail-1 { ...уточняем... }
.my-class-1.detail-2 { ...уточняем... }
nomarketing, лично я бы начал диагностику с общего числа SQL-запросов, которые выполняются, чтобы сформировать страницу. Бывает так: думаешь, что там 5-10 небольших запросов. А на самом деле оказывается 900-1000. Причём 90-95% из них просто лишния.
У вас есть возможность отследить, сколько SQL-запросов выполняется при формировании страниц?---------- Добавлено 24.02.2014 в 20:31 ----------Следующее, что приходит в голову — проверить железо. Винчестеры имеют обыкновение через 4-6 лет работать жутко медленно. Бывает и так: в коде ничего не меняешь, но на новой винчестере БД летает, а на старом — глохнет.
Далее я бы использовал утилиту innotop в период пиковых нагрузок. Утилита в реальном времени показывает долго выполняющиеся запросы.
Для этой же цели можно переконфигурировать MySQL. В my.cnf прописать логгирование медленных запросов. Порог поствить, например, 10 или 15 секунд — если запрос выполняется дольше порога, он будет записан в лог-файл. Если в лог файл ничего не попадает, то понижаем порог.
postavkin, в вашем описании PHP-код это часть load2.php (я именно так понял) или это код, который выполняется до формирования страницы, подгружающей 1.js?
Во-первых, в PHP-файле вам нужно распечатать значение вашей переменной. Например, в JSON-формат. А в JS-файле ожидать, что ответ вам вернётся в формате JSON.
Распечатать переменную в PHP в формат JSON можно функцией json_encode(), т.е. так:
echo json_encode( $spisokurl )