Очень долго подгружается страница с таким кодом, около 30 секунд
$nid = 3947;
$node = node_load($nid);
$nodeView = node_view($node, 'full');
print drupal_render($nodeView['body']);
?>
$node = node_load($nid);
$nodeView = node_view($node, 'full');
print drupal_render($nodeView['body']);
?>
Это погрузка одной вкладки, а их 9 штук. Возможно ли как то с помощью друпала или сторонними средствами сделать загрузку страницы быстрее?
Вот страница http://pgusa.ru/ru/sveden/education
Вложение | Размер |
---|---|
![]() | 35.16 КБ |
Комментарии
Как вариант, поставьте quicktabs и сделайте табы аяксовыми.
А можно немного конкретнее, как это сделать?)
https://www.drupal.org/project/quicktabs ставьте вот этот модуль. Сами табы собирайте как блоки вьюс с контекстными фильтрами. И в созданных квиктабах поставьте галочку "использовать Ajax".
+ еще модули по подгрузке ajax https://www.drupal.org/search/site/ajax%20load?f%5B0%5D=&f%5B1%5D=&f%5B2...
+ дока https://www.drupal.org/docs/7/api/javascript-api/simple-drupal-ajax-load...
Возможно я чего-то не понимаю, но каким образом Ajax исправит тормоза на сервере? Очевидно же, что нужно профайлить php код, а также запросы к БД и смотреть что именно тормозит? Не должна простая загрузка одной ноды (и даже девяти) длиться 30 секунд.
Табы не будут грузиться сразу, это сократит время ответа сервера. Очевидно же.
+100500 не должна и анализ 100% нужен, но и ajax нужен для ускорения
Проблема в том, что все это было написанно до того, как я пришел, все запросы к бд, сама бд и тд. Каждый новый человек придумывал костыли для того, что бы решить ту или иную задачу. Сервер сам по себе слабый, стоит на нем win 2003 sp2. Анализ чего и чем нужен? Аякс вроде как присутсвует на сайте. Вообще страницы на сайте грузятся примерно 5-8 секунд,возможно проблема в сервере
- Для оптимизации системного софта и настроек сервера (это к спецу по системному софту aka админ веб сервера)
- Для оптимизации прикладного кода в Drupal, настройки кеширования и т.д. в друпале по запросам можно devel посмотреть и профилирование https://www.drupal.org/docs/develop/profiling-drupal/benchmarking-and-pr...
А чем обоснован столь странный выбор? Публичный веб-сервер под виндой - это вообще нонсенс. Я бы даже не заморачивался его диагностикой, а просто переехал бы на самый дешевый shared hosting, желательно у хостера, специализирующегося на друпале, это от 200 рублей в месяц, и там бы уже оптимизировал, если будет необходимость, а ее скорее всего и не будет.
с тем, что начальство не хочет платить больше, у нас есть сервер - вот пусть на нем и стоит. а то что ему 100, лет никого не волнует, главное что он работает. А раз он сейчас более менее работает - значит и мучайтесь
Я в таких случаях покупал на авито за 1000р мамку с процом получше и менял на сервере. Нервы, как говорится, дороже)
С 30 секунд до 30/9=3.33 секунд? И потом так для каждого таба? И это всерьез считается нормальным решением проблемы?
Если включить логику, то можно догадаться, что выпиливание костылей из шаблона и замена этого на стандартные проверенные решения с большой долей вероятности увеличит быстродействие.
Тогда зачем что-то оптимизировать вообще? Страница же открывается? Открывается. Подумаешь 30 секунд - не 30 минут же
Ну если вы говорите что железо не очень и делаете такие вкладки, которые даже не часть контентной зоны, а полноценные ноды, то тут без шанса:

Уменьшайте количество скрепляемых нод. Больше чистого HTML...
У вас просто сервер отвечает очень медленно, ему явно нехватке всего, от процессора до оперативки и кеша. Надеюсь сервер не на Win.
Посмотрите в сторону модуля node_embed и правильную темизацию - у вас сейчас рендерятся вкладки как полноценные страницы, начиная с DOCTYPE заканчивая /html и так на каждую вкладку - это очень ресурсоёмко и невалидно - страница должна генерироваться один раз, а затем подключатся контент
Server: Apache/2.2.19 (Win32)
X-Powered-By: PHP/5.2.17
Меняйте на линукс - попробуйте завести на 7.2 PHP - это будет летать куда быстрее в разы
Иначе с такой скоростью ответа вы выпадите с поисковиков.