Pull to refresh

Comments 44

Осталось ощущение незавершенности статьи. Замах широкий, а мяса как-то не хватает.
Полностью согласен, нехватает описания того каким образом нагружался сервер, какая програмулина для этого использовалась. Мне бы было очень интересно…
Все будет, это ж начало только. У нас с этим Битриксом очень длинная долгая история получилась, всю ее опишем.
ок, только не превращайте в санта-барбару…
Все будет, это ж начало только. У нас с этим Битриксом очень длинная долгая история получилась, всю ее опишем.
UFO just landed and posted this here
… сколько раз с тексте звучит «1С-Битрикс», очевидно ведь :)
Тогда уж Рамблер-Фото — ему посвящено целых два абзаца ;)
Вы рассказали на примере Рамблер Фото, это понятно. Но казалось бы, причем здесь 1С-Битрикс, которое вы даже болдом выделили.
Я написал же об этом в первом абзаце — мы получили заказ на нагрузочное тестирование этой системы и решили открыть в нашей компании новое направление.

Вот о том, как оно создавалось, как выбирался софт, как тестировалось, как интерпретировались результаты мы и будем рассказывать. Понятно, что ссылки на Битрикс будут — они же были подопытными ;)
А если это не реклама, то Вас переклинит? ;)

Мы рассказываем про свою услугу — нагрузочное тестирование, о том, как мы это делаем. Надеюсь, что кому-нибудь будет интересно.
Судя по первой иллюстрации(Нагрузили->Посчитали...) Вы так и не смогли оптимизировать эту CMS :)
не стоит так делать :(, жители хабрахабры не любят Бразильские телехабрасериалы.

шёл читать, для пополнения своих знаний, а оказалось фейк :(
ОК, учту. Я думал, что длинные посты читать лениво и лучше три-четыре маленьких.
Если начали с «заказ на нагрузочное тестирование и оптимизацию нескольких версий CMS 1C-Битрикс», не стоит заканчивать «о том, как нас удивил 1С-Битрикс, мы поговорим в следующий раз».
я бы разбил на 3-4
1 — базовая платформа базовый битрикс, провели те те и те тесты получили то то и то использовались такие такие и такие методы.
2-4 — детальный разбор каждого метода, пусть это будет eAcce… там ещё какая-то битриксовская феня, БД и т.п.
И статья бы получилась логически завершённая, и неплохая затравка для следующих постов.

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

А тут такое счастье, такая компания, которая живёт и дышит оптимизацией и хайлоадом, и такой пост :)) Не серьёзно…

Правда статья собрана, половина выдрана про фрон\бэк энд, по моему в вики это или в первых учебниках по серверной оптимизации начинается с этих строк…

очень вовремя что, извините? :)

О том, что проблему сначала лучше рассматривать в общем — мы вроде знали и до этого
скажите хоть чем тестировали, сам почитаю.
Начинали с самописных инструментов, закончили tsung'ом.
а можно вкратце рассказать, какие плюсы у tsung? или об этом будет следующий пост?
Я запросил сравнительную характеристику различных систем. Пока не знаю, как узнаю — опубликуем.
Воткнули надуманную схему, где одинаково выглядят электрический сигнал и PHP. Вставили банальные два абзаца про фронтэнд на nginx.

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

Отсюда возникают различного рода «странности», например, почти одинаковая скорость чтения файла с диска и отдачи фрагмента памяти (файл положился в кэш файловой системы). Или отсутствие загрузки при молчании сервера (забита очередь на открытие TCP-соединений в сетевой подсистеме).

Обратная ситуация — если тестировать только одну страничку, то все, что ее касается очень быстро закешируется и замеряемое время будет невалидным.

Или волшебный URL, который при выполнении вызывает коллапс всей системы. Одна из самых сложно уловимых ошибок.

Возможно, Вам все это понятно — я поздравляю Вас, коллега, на Хабре разная аудитория, возможно, для кого-то даже такие основы были интересны и полезны.
Анекдот был про любителя бокса, который затарился пивом, раками, с друзьями собрались у телика, а Тайсон или кто там закончил бой в 30 секунд нокаутом.

Я к тому что статья должна быть самодостаточна. А то такое ощущение что кто-то тут SEO балуется.
На днях попробовал OpenSource проект JMeter для создания тестовых нагрузок — очень понравился. Функционал даже больше чем в коммерческих продуктах которые доводилось использовать.
Там пока проект настроишь — охренеть можно. Потому и собираю свой велосипед понемножку.
лучше не торопится и подготовится к полной статье, а то получается так что начали хорошо, а когда и как завершится — не ясно.
Ок, учтем. Думаю, что следующую статью сделаем большой и подробной.
а зачем там вообще тяжелый апачи? если нгинкс с fast-cgi или fpm его полностью может заменить и заметно снизить нагрузку, плюс с легкостью позволяет горизонтально масштабировать проект
Fast-CGI процесс все равно занимает больше места в оперативной памяти, чем одно подключение в nginx. Я помню, как Игорь Сысоев бился за каждый килобайт — в результате он довел дело до смешных цифр — на одно соединение несколько десятков килобайт.
а вы сравните сколько памяти кушает nginx+fast-cgi и nginx+apache+mod_php — я не сранивал нгинкс и фаст цги, я спросил зачем там вообще апачи?
Предпочитаю лёгкий сервер + FastCGI, но иногда достаётся тяжёлое наследие в виде километрового htaccess с настолько извращёнными правилами mod_rewrite, в сравнении с которыми создатели «Техасской резни бензопилой» выглядят сопливыми малышами.
насколько мне известно нгинкс поддерживает в реврайтах регулярные выражения, и лучше 2 дня убить на перепись регулярок под нгинкс с апача, чем потом выгребать костыли…
Я же написал, что извращённые: с использованием %{REMOTE_USER}, %{QUERY_STRING} и прочих подобных параметров практически во всех правилах.
Пока разберешься со всем этим зоопарком, работать такому «чуду» как-то же надо.
Вы все изменения делаете сразу на продакшене?
А вы разве нет?
Шутка: разумеется, сначала всё обкатывается на staging-серверах и только затем деплоится на продакшен.
В данном конкретном случае заморачиваться с переписыванием правил смысла не имело — там, помимо самих правил mod_rewite (их было около 2к! строк), всё было настолько грустно, что эффекта особого от этого мы бы не получили. Поэтому и воткнули nginx перед apache, который чаще лежал, чем работал, и за несколько месяцев переписали систему.

Или в условиях хостинга — не будешь же каждому клиенту правила переписывать при тотальном увлечении ЧПУ.

Так что решение nginx + apache в определённых случаях также имеет право на жизнь, хотя я и не являюсь его сторонником.
Олег, добавь пожалуйста в пассаж про Рамблер-Фото год, когда ты этим занимался. А то складывается впечатление, что ты для нас сейчас что-то делаешь, а это совсем не так.

Спасибо.
Начали за здравие, а кончили за упокой. «В следующий раз» — это через пол года?
Sign up to leave a comment.