1С-Битрикс: Управление сайтомНа главную страницу
Клиентам
Маркетплейс
Партнерам
Разработчикам
Интеграция с 1С
Идея?


Личный кабинет
Авторизоваться
Регистрация
(войти) Корзина
Логин:

Пароль:



Забыли свой пароль?
Регистрация
Войти как пользователь:
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
ВКонтакте
Мой Мир
Twitter
Facebook
Google
Livejournal
Яндекс
Rambler
Mail.Ru
Liveinternet
Blogger
OpenID
Используйте вашу учетную запись VKontakte.ru для входа на сайт.
Используйте вашу учетную запись Мой Мир@Mail.ru для входа на сайт.
Используйте вашу учетную запись на Twitter.com для входа на сайт.
Используйте вашу учетную запись на Facebook.com для входа на сайт.
Используйте вашу учетную запись Google для входа на сайт.
.livejournal.com
@yandex.ru
@rambler.ru
@mail.ru
http://www.liveinternet.ru/users/ /
.blogspot.com
OpenID:
  • Документация
    • Управление сайтом
    • Корпоративный портал
    • .NET Forge CMS
    • Отраслевые решения
    • Marketplace
    • Аренда приложений (SaaS)
  • Обучение и сертификация
    • Онлайн-курсы и сертификация
    • Учебные центры
    • Мое обучение
    • Учебные видеоролики
  • Центр поддержки
    • Поддержка
    • FAQ
    • Мои обращения
  • Сообщество
    • Блоги Битрикс
    • Блоги веб-разработчиков
    • Общие форумы
    • Веб-разработчики
      • Моя страница
      • Мои сообщения
      • Группы
      • Найти коллег
  • Cтатьи
    • Архив
Главная / Общение / Сообщество разработчиков / Забродин Роман / Блог маленькой независимой компании о бизнесе и битриксе
Федеральный семинар «1С-Битрикс»: Веб для бизнеса

Оптимизация скриптов для снижения нагрузки на серверTimeweb.ru тарифного плана Eterno[B] вызвала разрыв пространственно-временного континуума..

Профиль
Мысли
Блог маленькой независимой компании о бизнесе и битриксе
Друзья
Группы

Забродин Роман

Дата последнего входа: 21.05.2012 06:33:09
Город: Красноярск
Наименование компании: «Интернет-агентство «Енисайт»

Оптимизация скриптов для снижения нагрузки на серверTimeweb.ru тарифного плана Eterno[B] вызвала разрыв пространственно-временного континуума..

5
Роман Забродин
07.12.201107:3807.12.2011 07:38:10


На этой неделе мы были в ударе — порвали время и пространство.. smile:-)


Отчет:
xx.11.2011 — получили письмо с угрозой:
Цитата
Ваш аккаунт *** систематически оказывает чрезмерную нагрузку на сервер.
По данным статистики нагрузка на сервер:

Дата, нагрузка на CPU, нагрузка на MySQL

-----------
-----------

, что превышает допустимые значения на текущем тарифном плане.
Детально информацию о нагрузке Вы можете посмотреть в панели управления - https://cp.timeweb.ru/loading/
В течение 5 дней Вам необходимо принять меры для существенного снижения нагрузки.
Если оптимизация сайтов невозможна, дальнейшее качественное обслуживание Вашего аккаунта в нашей системе будет возможно только на VPS(http://timeweb.ru/services/vps/) или выделенном сервере (http://timeweb.ru/services/dedicate-server/)
В случае, если нагрузка будет вызывать нестабильную работу сервера, мы будем вынуждены приостановить обслуживание аккаунта.
01.12.2011 — хостер включил eAccelerator...
05.12.2011 — в серверную залетела шаровая молния и вызвала чёрную дыру?..
Роман Забродин
07.12.201107:3807.12.2011 07:38:10
Просмотров:1358 Комментариев:11 5
Теги: timeweb.ru, Енисайт
*
 
Незарегистрированным пользователям запрещена вставка ссылок. Зарегистрируйтесь или авторизуйтесь.
*
Добавить комментарий
0
Сергей Рыжиков
07.12.2011 09:54:09
Я видел похожее изменение по базе данных, когда хостер поставить MariaDB или PerconaDB. Нагрузка падала с 80% по всем до 15-25%. Не верится, что они столь оптмальнее, но.... Для пользователя эти продукты выглядят как обычный MySQL. 
Ответить Ссылка 0
0
Роман Забродин
07.12.2011 10:24:59
Сергей, так как времени на то чтобы найти проблему хостер дает всего 5 дней то мы решаем задачу методом исключения по следующему алгоритму:

1. сначала отключаем все что только возможно отключить:
модуль "Веб-аналитики",
Документооборот,
Обмен с 1С,
возможность сбрасывать кэш (вдруг кто-то его сбрасывает?)
весь некритичный для работы сайта функционал
+ выставляем очень большое время кэширование.
задача — любой ценой снизить нагрузку на сервер чтобы войти в отведенные лимиты и удержаться на имеющемся тарифном плане

2. когда угрозы вылетить с тарифа уже нет — по очереди, с шагом в одни сутки (чтобы видеть как включение функционала сказалось на графике нагрузки хостера) включаем то что ранее отключили.


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

1. хостер часто не считает нужным придерживаться рекомендациям Битрикс, например eAccelerator включили только недавно (теперь, чтобы понять как он влиял его бы в заданный час отключить..) и то не до конца:

Битрикс:


Таймвеб:


2. Немного дискредитировал себя график нагрузки от хостера, в результате уже нет к нему полного доверия — например на приведенном мною скриншоте три пятых числа, как его воспринимать серьезно?

3. Плавающая посещаемость ресурса также усложняет оценку того как сказались на нагрузке внесенные в функционал сайта изменения.


Сейчас, мы находимся на этапе №2, когда отключили все что можно + хостер полувключил eAccelerator. По этому что именно привело к снижению нагрузки выявим чуть позже.

Ответить Родитель Ссылка 0
0
Роман Забродин
25.12.2011 20:27:56
А дело движется.
Проблема высокой нагрузки оказалась в стандартном компоненте bitrix:catalog.section, который во время фильтрации, при некотором стечении обстоятельств давал огромную нагрузку на сервер. Пообещали выпустить решение в обновлении, а мы получили заплатку.
Ответить Ссылка 0
0
Роман Забродин
25.12.2011 20:33:46
Рекомендацию в мониторе производительности также скорректировали:
Ответить Ссылка 0
0
Соколов Дмитрий
26.12.2011 07:41:35
Роман ,добрый день.Столкнулся с той же проблемой, не могли бы Вы уточнить что конкретно битрикс посоветовал Вам сделать с catalog.section? Ну или поделиться заплаткой, ато уже оптимизировать код дальше некуда, а нагрузка на бд всеравно высоковата. Заранее благодарю.
Ответить Ссылка 0
0
Власов Алексей
14.02.2012 00:36:06
Очень интересный вопрос, поделитесь пож-та решением
Ответить Ссылка 0
0
Воробьев Денис
15.02.2012 01:22:37
Отличный пост! По Акселлератору получал такой же ответ, но, тк было не критично - забил.

Методика снижения нагрузки хороша, если есть время. Большую часть проблем можно отловить и быстрее, используя отладку производительности. Не думаю, что вы его не использовали, но неужели этот модуль не отловил проблему с bitrix:catalog.section ?

И да, расскажите, в чем засада была, а то в каждом вашем посте - интрига smile:)
Ответить Ссылка 0
1
Роман Забродин
15.02.2012 09:58:40
Кстати, это пост не фига не шуточный -- это нервное. Он трагичный по сути.

Знали бы вы ЧТО нам пришлось пережить в декабре с этим и с другими клиентами...

а по итогу, в данном случае, виноваты были (хотя это и не конструктивно искать виноватых, зато конструктивно делать выводы и улавливать общие тенденции):

1. таймвеб, который не включил eAcellerator  на специализированном тарифе под 1С-Битрикс..
2. и сам 1С-Битрикс (!) у которого была ошибка в компоненте bitrix:catalog.section +неверная рекомендация в мониторе производительности.

и чего стоило нам обычному партнеру защитить себя и свою репутацию перед клиентом? Кто мы и кто Таймвеб и 1С-Битрикс?

+писать что-то в ТП последних -- тот еще АД (тема отдельного разговора.)

Вот по этому некоторые и заводят СВОИ сервера и пишут СВОИ cms. Если тебя клиенты обвиняют в чем-то, то лучше знать что ты действительно виноват и решать проблему в своих серверах и в своей cms -- шансов больше, чем биться лбом в бетонную стену чужих ТП...
Ну еще вариант молча править косяки хостера и cms... (самый наверное конструктивный, но отвратительный по своей сути)

Ответить Родитель Ссылка 1
1
Андрей Шилов
15.02.2012 10:13:19
Цитата
Проблема высокой нагрузки оказалась в стандартном компоненте bitrix:catalog.section, который во время фильтрации, при некотором стечении обстоятельств давал огромную нагрузку на сервер. Пообещали выпустить решение в обновлении, а мы получили заплатку.
Расскажу подробнее какая ситуация вызывала нагрузку. В каталоге есть несколько свойств "Список" множественных. При фильтрации по значениям этих свойств в разделах, которые содержат подразделы(при использовании INCLUDE_SUBSECTIONS) стандартный компонент catalog.section очень долго производил выборку. В некоторых разделах SQL запрос обрабатывался до 50 секунд.

Вот какое решение предложили в ТП:

Цитата
... рекомендуем кастомизировать компонент "Каталог", а точнее используемый в нём компонент "bitrix:catalog.section", в котором изменить строчку:


Код
$arFilter["SECTION_ID"] = $arResult["ID"]; 
на:
Код
$arFilter[] = array(
    "SECTION_ID" => $arResult["ID"], 
    "INCLUDE_SUBSECTIONS"=>$arParams['INCLUDE_SUBSECTIONS']
); 

Также, закомментируйте строчку:

Код
"INCLUDE_SUBSECTIONS" => $arParams["INCLUDE_SUBSECTIONS"], 

Проблема решилась, но обновления компонента потеряли.

Ответить Ссылка 1
0
Панычев Дмитрий
15.02.2012 11:25:22
Андрей, техподдержка что-нибудь говорит про сроки выхода обновлений с решением этой проблемы?
P.S. Спасибо за освещение этой проблемы)

Ответить Родитель Ссылка 0
0
Андрей Шилов
15.02.2012 11:57:38
По срокам к сожалению не говорят... Пообещали только, что вынесут в настройки компонента.
Ответить Родитель Ссылка 0

Добавить комментарий

Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».
 
Технологии Эрмитаж
BitrixMobile
Автокеширование
SiteUpdate
Производительность Виртуальная машина
Веб-окружение
Результаты тестов
Выбрать хостинг
Веб-кластер
Безопасность Проактивная защита
Веб-антивирус
Аутентификация

Контакты Поиск Карта сайта
Телефон: +7 (495) 229-14-41
Оставайтесь с нами: Facebook Twitter Habrahabr VKontakte Developers Google 1+
Как распознать QR код?Контакты QR


© 2001-2012 «Битрикс», «1С-Битрикс». Работает на 1С-Битрикс: Управление сайтом.
Английская версия Немецкая версия