Начались тормоза

Главные вкладки

Аватар пользователя kraz kraz 14 декабря 2011 в 20:36

Здравствуйте!

Недавно дособрал таки сайт, запустил форум, но после запуска форума появились дикие тормоза. Страницы грузятся по 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, а возможно в их сочетании

Комментарии

Аватар пользователя kraz kraz 14 декабря 2011 в 22:19

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

В общем некисло тормозили смайлики. Если обновить базу данных, как советует отчет о состоянии - это может помочь?

Аватар пользователя kraz kraz 15 декабря 2011 в 0:49

Уже все это есть.
Я тут дообновлялся уже)

Выдает ошибку

* 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.

Аватар пользователя q2_faith q2_faith 15 декабря 2011 в 1:12

"Заводской раб" wrote:
а как главную собрать без панелей?

добавить два региона, top-content и bottom-content
в первом вывести слайдер, во втором нижние блоки блоки
имхо при такой структуре панели лишнее

Аватар пользователя Jean-Claude Jean-Claude 15 декабря 2011 в 1:22

ну я не имел в виду при такой структуре, а более сложную структуру с несколькими блоками на главной -

| блок | | блок |
| блок контента |
| блок | | блок |
| блок контента |
| блок | | блок |

ну к примеру

Аватар пользователя kraz kraz 15 декабря 2011 в 1:37

Я знаю модуль contemplate. Планирую его изучить. По моей информации он позволяет создавать разметку страниц вручную, как ннапример на wordpress и хранить эти шаблоны на диске.
Panels действительно жрет очень много. 60 мб на генерацию страницы - это слишком

Кто что скажет насчет ошибки? БД мне не восстановить - не хватает памяти. НА домашний сервак она тоже не встала

Аватар пользователя q2_faith q2_faith 15 декабря 2011 в 1:47

"Заводской раб" wrote:
ну я не имел в виду при такой структуре, а более сложную структуру с несколькими блоками на главной -

тогда я бы посоветовал [theme=adaptivetheme] и ее субтемы

Аватар пользователя Mirocow Mirocow 15 декабря 2011 в 1:56

"kraz" wrote:
Я знаю модуль contemplate.

contemplate - у него здоровый минус. Все что делается хранится в бд а не в файлах, поэтому весь код темплайта выполняется в eval вот этой функцией contemplate_eval(), что приводит к большому потреблению памяти и увеличению нагрузки на процессор

Аватар пользователя sibero sibero 15 декабря 2011 в 2:09

Для начала подобрать подходящий хостинг, оптимизированный под drupal с нормально настроенным кешированием (самое важное, так как на плохом хосте, оптимизирвоать сайт бесполезно) .
Пересмотреть необходимость использования модулей. Возможно где то задачу можно решить встроенным функционалом или менее нагружающими систему модулем.
Подобрать стратегию кеширования сайта. Если в основном анонимы, то использовать boost и т.д. Кеширование блоков, views, panels.
Посмотреть модулем devel, какие запросы дольше всего выполняются. Посмотреть профайлером. И т.д.
По возможности отказаться от panels (или кешировать).

"kraz" wrote:
ACL
Forum Access

Обязательны ли форуму закрытие разделы? Если нет, отключить эти модули, так как проверка прав, доп. нагрузка.

Аватар пользователя kraz kraz 15 декабря 2011 в 2:22

ACL
Forum Access - ставил по инструкции, считал что это модули для модераторов? Закрытые разделы не нужны

Хостинг - это понятно. На этом у меня осталось 100 дней)) Потом перееду на Hetzer. Но там еще надо разобраться как сервак настроить. Есть манулы?

Contemplate - печально, ну чтож, хорошо что есть альтернатива.
Panels меня бесят - очень корявая вещь

Аватар пользователя Jean-Claude Jean-Claude 15 декабря 2011 в 2:26

panelы - сколько работал с ним - корявости не заметил, правда сильно посещаемых сайтов у меня нет и поэтому нагрузки как таковой не замечаю. да и кеширование для анонимусов не просто так придумали.

Аватар пользователя sibero sibero 15 декабря 2011 в 2:33

"kraz" wrote:
ACL
Forum Access - ставил по инструкции, считал что это модули для модераторов? Закрытые разделы не нужны

Это модули для создания закрытых разделов, если закрытых разделов нет, их лучше выключить.

"kraz" wrote:
Но там еще надо разобраться как сервак настроить. Есть манулы?

Мануалы были, но ссылки не помню.

"kraz" wrote:
Contemplate - печально, ну чтож, хорошо что есть альтернатива.

Я считаю что лучше темизировать на уровне .tpl.php

"kraz" wrote:
Panels меня бесят - очень корявая вещь

Хороший модуль, но для решения простых задач, лучше использовать блоки и .tpl.php. Либо основательно все кешировать

Аватар пользователя Jean-Claude Jean-Claude 15 декабря 2011 в 2:35

"q2_faith" wrote:
тогда я бы посоветовал adaptivetheme и ее субтемы

там по умолчанию можно выставить блоки так как я показал?

Аватар пользователя Jean-Claude Jean-Claude 15 декабря 2011 в 12:35

"q2_faith" wrote:
с помощью gpanel их можно выставить как угодно
http://drupal.org/node/460800
там на примере показана genesis тема

да, посмотрел, хороши пример, но грубо говоря там просто регионы создаются, как говорилось выше

понравилось выравнивание блоков в 3х и 4х колоночной версии - right : -1% - так никогда не пользовался Smile

тогда получается делаем регионы, выводим туда блоки и прописываем их только для главной, тогда как отключить $content только на главной?

Аватар пользователя q2_faith q2_faith 15 декабря 2011 в 12:50

"Заводской раб" wrote:
тогда получается делаем регионы, выводим туда блоки и прописываем их только для главной, тогда как отключить $content только на главной?

если так сильно отклчюить, то display: none будет самым простым решением

Аватар пользователя q2_faith q2_faith 15 декабря 2011 в 13:46

"Заводской раб" wrote:
нехороший вариант, за клоакинг ПС может принять

обычно есть что вывести через $content, вьюс например с последними материалами, новостями и т.д.

Аватар пользователя bsyomov bsyomov 18 декабря 2011 в 19:12

"Заводской раб" wrote:
но только тогда блоки через регионы не выведутся :)

С чего бы им не выводиться? Smile Ну не будете вы выводить контент в шаблоне, как это должно сказаться на блоках?
К тому же, как выше верно замечено, найдётся что вывести через $content.

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

Content templates просто не стоит использовать, он на самом деле, не даёт никаких особых преимуществ - всё можно и так затемизировать замечательно, используя штатные методы drupal, если понять, как это делается. А недостатки есть - это дополнительная нагрузка, размазанный по админке код, да и вообще, шаблонам ни в админке, ни в базе делать совершенно нечего.

Аватар пользователя bsyomov bsyomov 18 декабря 2011 в 19:14

"kraz" wrote:
Но там еще надо разобраться как сервак настроить. Есть манулы?

Настройка сервера по мануалам, без понимания что вы делаете - последнее дело.

Аватар пользователя Jean-Claude Jean-Claude 18 декабря 2011 в 20:08

на, но есть нюансы

к примеру, создал приветственный текст сайта, блоком, разместил в верх сайта
ниже идут статьи на главной

тогда этот прив. блок телепается и на страницах (пейджер) node?page=1 node?page=2

============================
идем дальше, отключил публикацию статей на главной
выставил туда 2 блока - приветсвенный текст и виевс последних 5 статей

но тогда появляется приветственный текст движка друпала (как когда сайт пустой):

"Добро пожаловать на ваш новый сайт на Drupal!

Сделайте несколько шагов для настройки и начала работы вашего сайта:"

вот так вот
включил панели в общем, пока не догадался как вывести без панелей

Аватар пользователя bsyomov bsyomov 18 декабря 2011 в 21:23

Назначить в настройках сайта, адрес главной страницы, не на node, а на любой существующий адрес, например это может быть специально созданный, возможно пустой материал типа page. И не будет больше выводиться лишнее.

Аватар пользователя bsyomov bsyomov 18 декабря 2011 в 22:19

Да, посмотреть можно с помощью devel, и смотреть стоит не только потребление памяти, но и запросы БД, количество, время выполнения.
Я не думаю, правда, что 65М это только panels.

Аватар пользователя q2_faith q2_faith 18 декабря 2011 в 22:32

"Заводской раб" wrote:
создал приветственный текст сайта

"Заводской раб" wrote:
тогда этот прив. блок телепается и на страницах (пейджер) node?page=1 node?page=2

запретить индексацию пейджера, если вы об этом

Аватар пользователя Jean-Claude Jean-Claude 18 декабря 2011 в 22:37

поставил девел на тестовый сайт, но не заметил там вывод информации о колве памяти

а так вообще

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.

вроде нормально Smile я щетаю