Тема: Глюки сайта на symfony1.2

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

Во время удаления старых файлов со старого хостинга оказалось, что в cache были папки с длинными названиями на русском языке, которые не удалялись. То что они не удалялиь, это ладно, права и все такое, но то что они были на русском, мне кажется не правильным.

На новом хостинге все было норм пока не обновились днс и трафик не пошел на него(это 1 день, может меньше). Оказалось, что симфони пишет логи несмотря на то что я отключил логирование, пришлось чистить логи по крону.

Обратно включил кэш. Теперь столкнулся с тем, что иногда отказывается работать mysql. На некоторых старницах(может на незакешированных) отваливается. Последний раз когда mysql упал и не захотел подниматься пришлось восстанавливать таблицы через innodb_force_recovery = 1.

Вопрос: чего может не хватать сайту для нормальной работы? Куда смотреть что бы это определить?

Все рекомендации check_configuration.php я выполнил.

2

Re: Глюки сайта на symfony1.2

Я бы начал с допроса mysql. Какие и сколько запросов на страницах и т.д.  Что значит включил кэш? Кэш чего? Запросов? Темплейтов?

Вопрос: чего может не хватать сайту для нормальной работы? Куда смотреть что бы это определить?

в зеркало default/smile

3

Re: Глюки сайта на symfony1.2

Кэш включил в settings.yml + в некоторых модулях настроил через cache.yml, где надо отключил, где надо включил

prod:
  .settings:
    no_script_name:         on
    logging_enabled:        off
    cache:                  off

Запосов к mysql очень много. Я думал, стоит обновить propel, но не знаю как это сделать

4

Re: Глюки сайта на symfony1.2

Если мне не изменяет память, то у пропеля была беда с джоинами. Посмотрите какие запросы выполняются. Попробуйте их упростить или оптимировать. Кэшируйте результаты запросов средствами пропеля(хотя пропель этого кажется не мог, но могу ошибаться.) или сами напишите обертку для того же apc. Кстати, он стоит на сервере? В настройках вместо офф  разве не false нужен был раньше?

logging_enabled

Default: on for all environments except prod
The logging_enabled setting enables the logging sub-framework. Setting it to false bypasses the logging mechanism completely and provides a small performance gain.

5

Re: Глюки сайта на symfony1.2

Error-free пишет:

Вопрос: чего может не хватать сайту для нормальной работы? Куда смотреть что бы это определить?

Вы вот херней маетесь, простите. Какой смысл таких вопросов? У вас проект - индивидуальный программный продукт. Кроме его создателя никто не в курсе, что он там написал и какие цели преследовал. С таким же успехом вы можете сходить к любой гадалке.

Сайту для нормальной работы не хватает программиста с головой, который начнет с того, что разберется в его внутренней архитектуре и сделает нормальный профалинг, который покажет все узкие места. А дальше уже будет придумывать решения для их устранения.

А ваши действия вида "включил кеш" - это как игра ребенка с черным ящиком с кнопочками, к которому нет инструкции и непонятно, что эти кнопочки делают. Кто вам сказал, что включение кеша не отразится на логике и не поломает вам проект, например? Фреймворк и конечный проект, на нем написанный - кардинально разные вещи.

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

6

Re: Глюки сайта на symfony1.2

Error-free пишет:

Я подумал что включу кэш и все станет норм.

Помаялся я на своём проекте с кэшем...  просто так его не включишь default/smile Надо каждую страницу осмысливать что и как там кэшировать default/smile Плюс там много ещё приколов у симфони. Решил я как-то также побаловаться с чёрным ящиком, включил кеш для роутов,  через несколько часов всё упало, и потом когда служба подержки мне тариф меняла - ещё долго разбиралась что там не фурычит чистя огромные кучи файлов в системном темпе от симфоневского кеша default/smile ... Как оно там появилось не знаю, но по именам файлов сидно было что это мои роуты.

А по оптимизации там много что ещё может быть. Например использование стандартного роута :module/:action  как-то давало мне более 60 секунд  выполнения 1 страницы default/smile Потом когда нашёл где это - время сократилось до 1 секунды....

7 Отредактировано alex (2013-02-04 16:04:22)

Re: Глюки сайта на symfony1.2

brother79: прохладная былина, братишка.

relo_san: ссылка "Reply" под сообщением ведет в файл нот фаунд.

8

Re: Глюки сайта на symfony1.2

alex пишет:

ссылка "Reply" под сообщением ведет в файл нот фаунд

Ну, поблагодарить за это можно разработчиков ПанББ. Вот Яндекс наконец зафиксирует переезд (где-то через месяц, обычно ему 3 месяца бывает достаточно), и я начну тут все фиксить.