Здравствуйте!
Недавно дособрал таки сайт, запустил форум, но после запуска форума появились дикие тормоза. Страницы грузятся по 10-30 секунд. Работать на сайте невозможно, поэтому висит неясно в каком состоянии. Посоветуйте что можно сделать.
Посещаемость не гигантская - 500 чел в сутки, траф - ок. 8-10 гб. в месяц, сайт текстовый. Ссылка вот
Активированные модули:
ACL
Forum Access
Administration menu
CCK - весь, кроме FileField Meta
Chaos tool suite
Content Profile
Content Profile Tokens
Book
Comments
Contact
Locale
PHP filter
Profile
Statistics
Taxonomy
Devel
ImageAPI
Image cache
Pathologic
bbcode
Menu Minipanels
Mini panels
Panel nodes
Panels
Share
Link Codes
Spam
Tagadelic
jQuery Update
User titles
Views
Advanced Forum
Advanced Profile Kit
Author Pane
Auto Assign Role
Automatic Nodetitles
Custom Pagers
Dynamic display block
Dynamic persistent menu
FCKeditor
Flat comments
Flat comments ex
Formfilter UI
Lightbox2
Pathauto
Secure Password Hash
ShareThis
Token
Transliteration
Cron не запущен. Подозреваю, что проблема либо в форуме, либо в panels, а возможно в их сочетании
Комментарии
Что говорит по этому поводу?
Говорит что модуль оценки производительности был из него убран)))
node/195 12/14/2011 - 21:14 1 46.25 46.25 2,510.0 2,510.0
node/268 12/14/2011 - 21:13 3 46.75 36.00 2,663.0 1,839.0
user/177 12/14/2011 - 21:10 1 60.50 60.50 2,783.0 2,783.0
style.css 12/14/2011 - 21:17 8 43.75 34.41 3,225.0 766.0
forum/{SMILIES_PATH}/icon_evil.gif 12/14/2011 - 21:13 4 47.25 36.38 3,333.0 1,059.0
forum/style.css 12/14/2011 - 21:14 6 57.25 44.84 3,576.0 1,887.0
mainpage 12/14/2011 - 21:11 1 60.00 60.00 3,596.0 3,596.0
forum 12/14/2011 - 21:17 3 67.75 62.63 4,514.0 2,230.0
forum/{SMILIES_PATH}/smile-l.gif 12/14/2011 - 21:13 3 47.25 47.25 5,235.0 4,163.0
admin/reports/performance-logging 12/14/2011 - 21:17 5 68.00 60.00 5,396.0 2,238.0
forum/{SMILIES_PATH}/icon_e_smile.gif 12/14/2011 - 21:13 4 47.25 47.25 5,481.0 4,220.0
forum/{SMILIES_PATH}/icon_e_ugeek.gif 12/14/2011 - 21:13 3 47.25 47.25 5,615.0 4,394.0
admin/build/modules/list/confirm 12/14/2011 - 21:16 2 62.50 62.38 6,538.0 6,429.0
admin/build/modules 12/14/2011 - 21:16 3 83.00 77.19 14,171.0 10,924.0
В общем некисло тормозили смайлики. Если обновить базу данных, как советует отчет о состоянии - это может помочь?
в общем начните с самого простого)
агрегация css, js
включение кэширования
я бы не использовал панели)
Уже все это есть.
Я тут дообновлялся уже)
Выдает ошибку
* warning: array_fill() [function.array-fill]: Number of elements must be positive in /home2/laborat2/public_html/laboratory37/includes/database.inc on line 253.
* warning: implode() [function.implode]: Invalid arguments passed in /home2/laborat2/public_html/laboratory37/includes/database.inc on line 253.
* warning: array_keys() [function.array-keys]: The first argument should be an array in /home2/laborat2/public_html/laboratory37/modules/user/user.module on line 515.
* user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 query: SELECT p.perm FROM role r INNER JOIN permission p ON p.rid = r.rid WHERE r.rid IN () in /home2/laborat2/public_html/laboratory37/modules/user/user.module on line 515.
а как главную собрать без панелей?
добавить два региона, top-content и bottom-content
в первом вывести слайдер, во втором нижние блоки блоки
имхо при такой структуре панели лишнее
ну я не имел в виду при такой структуре, а более сложную структуру с несколькими блоками на главной -
| блок | | блок |
| блок контента |
| блок | | блок |
| блок контента |
| блок | | блок |
ну к примеру
Я знаю модуль contemplate. Планирую его изучить. По моей информации он позволяет создавать разметку страниц вручную, как ннапример на wordpress и хранить эти шаблоны на диске.
Panels действительно жрет очень много. 60 мб на генерацию страницы - это слишком
Кто что скажет насчет ошибки? БД мне не восстановить - не хватает памяти. НА домашний сервак она тоже не встала
тогда я бы посоветовал [theme=adaptivetheme] и ее субтемы
contemplate - у него здоровый минус. Все что делается хранится в бд а не в файлах, поэтому весь код темплайта выполняется в eval вот этой функцией contemplate_eval(), что приводит к большому потреблению памяти и увеличению нагрузки на процессор
не нужен вам для главной этот модуль
Для начала подобрать подходящий хостинг, оптимизированный под drupal с нормально настроенным кешированием (самое важное, так как на плохом хосте, оптимизирвоать сайт бесполезно) .
Пересмотреть необходимость использования модулей. Возможно где то задачу можно решить встроенным функционалом или менее нагружающими систему модулем.
Подобрать стратегию кеширования сайта. Если в основном анонимы, то использовать boost и т.д. Кеширование блоков, views, panels.
Посмотреть модулем devel, какие запросы дольше всего выполняются. Посмотреть профайлером. И т.д.
По возможности отказаться от panels (или кешировать).
Обязательны ли форуму закрытие разделы? Если нет, отключить эти модули, так как проверка прав, доп. нагрузка.
ACL
Forum Access - ставил по инструкции, считал что это модули для модераторов? Закрытые разделы не нужны
Хостинг - это понятно. На этом у меня осталось 100 дней)) Потом перееду на Hetzer. Но там еще надо разобраться как сервак настроить. Есть манулы?
Contemplate - печально, ну чтож, хорошо что есть альтернатива.
Panels меня бесят - очень корявая вещь
panelы - сколько работал с ним - корявости не заметил, правда сильно посещаемых сайтов у меня нет и поэтому нагрузки как таковой не замечаю. да и кеширование для анонимусов не просто так придумали.
Это модули для создания закрытых разделов, если закрытых разделов нет, их лучше выключить.
Мануалы были, но ссылки не помню.
Я считаю что лучше темизировать на уровне .tpl.php
Хороший модуль, но для решения простых задач, лучше использовать блоки и .tpl.php. Либо основательно все кешировать
там по умолчанию можно выставить блоки так как я показал?
с помощью gpanel их можно выставить как угодно
http://drupal.org/node/460800
там на примере показана genesis тема
да, посмотрел, хороши пример, но грубо говоря там просто регионы создаются, как говорилось выше
понравилось выравнивание блоков в 3х и 4х колоночной версии - right : -1% - так никогда не пользовался
тогда получается делаем регионы, выводим туда блоки и прописываем их только для главной, тогда как отключить $content только на главной?
если так сильно отклчюить, то display: none будет самым простым решением
нехороший вариант, за клоакинг ПС может принять
обычно есть что вывести через $content, вьюс например с последними материалами, новостями и т.д.
вспомнил, можно же в page.tpl.php прописать is_font на $content
но только тогда блоки через регионы не выведутся
С чего бы им не выводиться? Ну не будете вы выводить контент в шаблоне, как это должно сказаться на блоках?
К тому же, как выше верно замечено, найдётся что вывести через $content.
На самом деле, просто надо сверстать правильно шаблон для главной страницы, с нужными регионами и заполнить их нужными блоками. Для главной, как впрочем и для любой дугой страницы(правда это редко разумно, т.к. не стоит делать сильно разнящиеся страницы на сайте), можно сделать отдельный шаблон,и не загромождать вёрстку разными дополнительными условиями.
Этот подход намного производительное использования Panels.
Content templates просто не стоит использовать, он на самом деле, не даёт никаких особых преимуществ - всё можно и так затемизировать замечательно, используя штатные методы drupal, если понять, как это делается. А недостатки есть - это дополнительная нагрузка, размазанный по админке код, да и вообще, шаблонам ни в админке, ни в базе делать совершенно нечего.
Настройка сервера по мануалам, без понимания что вы делаете - последнее дело.
на, но есть нюансы
к примеру, создал приветственный текст сайта, блоком, разместил в верх сайта
ниже идут статьи на главной
тогда этот прив. блок телепается и на страницах (пейджер) node?page=1 node?page=2
============================
идем дальше, отключил публикацию статей на главной
выставил туда 2 блока - приветсвенный текст и виевс последних 5 статей
но тогда появляется приветственный текст движка друпала (как когда сайт пустой):
"Добро пожаловать на ваш новый сайт на Drupal!
Сделайте несколько шагов для настройки и начала работы вашего сайта:"
вот так вот
включил панели в общем, пока не догадался как вывести без панелей
Назначить в настройках сайта, адрес главной страницы, не на node, а на любой существующий адрес, например это может быть специально созданный, возможно пустой материал типа page. И не будет больше выводиться лишнее.
а где он смотрел что panels потребляет 65 метров памяти? в модуле devel?
Да, посмотреть можно с помощью devel, и смотреть стоит не только потребление памяти, но и запросы БД, количество, время выполнения.
Я не думаю, правда, что 65М это только panels.
запретить индексацию пейджера, если вы об этом
нет, некрасиво когда приветственный текст с главной телепается на всех страницах... имхо
поставил девел на тестовый сайт, но не заметил там вывод информации о колве памяти
а так вообще
Executed 276 queries in 162.82 milliseconds. Queries taking longer than 5 ms and queries executed more than once, are highlighted. Page execution time was 542.01 ms.
вроде нормально я щетаю
ну и из девела нашел что с panels связано
ms where
0.49 1 panels_load_displays
0.47 1 panels_load_displays