Наша фирма хотела бы перевести свой сайт на Ваш движок, и сейчас проводим тестирование демо-версии на нашем железе. Не могли бы вы описать, какие методики и программные средства используете для тестирования сайтов (интересующие параметры: количество обслуживаемых хитов в единицу времени и среднее время ответа на запрос при разном количестве параллельно работающих посетителей), а также средства имитации активности посетителей.
Каждые сутки простоя нашего сервера обходятся нам от 700 до 1000 баксов. По-этому узнать максимально допустимую нагрузку на него заранее гораздо дешевле, чем получить эту информацию, например, после проведения рассылки по клиентской базе. Есть ли какие-то автоматизированные решения для этой задачи?
Можно, конечно, нанять пару тысяч китайских студентов и поручить им кликать в сайт до упаду... Но по-моему это не самое элегантное решение.
спасибо, за ответ. Но мне кажется, что этот бенчмарк не совсем то, что нам нужно.
Насколько я понял из описания, "ab" дает заключение о производительности системы на основе изменения скорости обработки простого HTML-закроса. Однако, для вычисления максимально допустимого количества посетителей в день на сайте, работающем под управлением Битрикса (или любой другой CMS-системы) скорость обработки HTML-запроса не является узким местом. Ведь Битрикс активно работает с базой данных, в особенности модуль Веб-аналитики.
Хотелось бы узнать, каким образом были получены эти цифры. Вариантов ответа, как я себе представляю, может быть несколько: (1) нагрузочное тестирование проводилось в лабораторных условиях разработчиков Битрикса (2) тестирование проводилось партнерами на этапе пуско-наладочных работ реальных проектов (3) данные получены от клиентов, сервера которых зависали из-за перегрузки
Вариант, что цифры взяты с потолка я не рассматриваю как серьёзную гипотезу, т.к. со слов г-на Рыжикова знаю, что, например, в аудите безопасности 5-го Битрикса участвовало две сторонние фирмы-эксперта. Уверен, что рекоммендации по выбору серверов были составлены не менее ответственно.
Как резюме, меня сейчас интересует нагрузочная оценка моего вэб-сервера в целом (Apache + MySql + Bitrix + Мой сайт на битриксе). т.е. я хочу оценить какой поток посетителей моего вэб-сервера, построенного на системе Битрикс может выдержать мой сайт.
У ab есть ключ -c (number of multiple requests to perform at a time), позволяющий имитировать нагрузку от нескольких пользователей. Поиграйте этим ключом и посмотрите, при какой нагрузке битрикс начнёт захлёбываться. Всё это с точностью плюс-минус лапоть, конечно.
Цитата
скорость обработки HTML-запроса не является узким местом. Ведь Битрикс активно работает с базой данных, в особенности модуль Веб-аналитики.
Запросы от ab обрабатываются модулем статистики точно так же, как запросы от любого другого юзерагента.
а под винду есть что-то, или веб-based? у меня есть возможность запустить аб только с хостинга, а там конечно все запросы проходят, а их одноременное количество ограничено провайдером.
Михаил пишет: после проведения рассылки по клиентской базе
Подозреваю, что стандартный функционал БУС на массовые почтовые рассылки не рассчитан, т.к. каждое письмо - форк лишнего процесса. Битрикс какое-то время назад сказал, что изменять методологию отправки почты пока не намерен: web-page
Taras Savchuk пишет: Подозреваю, что стандартный функционал БУС на массовые почтовые рассылки не рассчитан, т.к. каждое письмо - форк лишнего процесса. Битрикс какое-то время назад сказал, что изменять методологию отправки почты пока не намерен: web-page
Тарас, а о чем вы? Массовые - это миллионы писем в день. Да, обычно с сайта такие вещи и не рассылают. А сто тысяч в рассылке на Битрикс - такие клиенты есть и нормально работают. И при чем тут SMTP и форки вообще?
Sergey Rizhikov пишет: И при чем тут SMTP и форки вообще?
Функция mail() в PHP отсылает письма через sendmail-совместимый бинарник, каждое письмо - это новый процесс. Возможность отсылать через SMTP сервер <с авторизацией> сделала бы БУС более гибким. Вы же рекомендуете persistent соединение с БД? Я предлагаю аналогичный подход к отправке писем.
Цитата
Sergey Rizhikov пишет: А сто тысяч в рассылке на Битрикс - такие клиенты есть и нормально работают.
Нормально - это понятие относительное, помимо него есть понятия стройности реализации и правильности подхода Наличие возможности отсылать по SMTP, кстати, существенно бы упростило конфигурирование систем, на которых крутятся нескольких полностью изолированных (jail) сайтов, т.к. можно было бы отказаться от поддержки MTA или специального бинарника в каждой виртуальной машине, а использовать центральный MTA "на всех".
Помимо объективных причин (производительность, упрощение конфигурации) я бы сказал, что возможность выбрать (нужный, свой) SMTP сервер при отсылке почты - признак хорошего тона.
Цитата
Игорь Безлапотнов пишет: Тарас, а Вы не боитесь попасть в abuse с такой массовостью?
Taras Savchuk пишет: Функция mail() в PHP отсылает письма через sendmail-совместимый бинарник, каждое письмо - это новый процесс. Возможность отсылать через SMTP сервер <с авторизацией> сделала бы БУС более гибким. Вы же рекомендуете persistent соединение с БД? Я предлагаю аналогичный подход к отправке писем.
Тарас, каждый должен заниматься своим делом. PHP - это скрипт, который может быть ограничен по времени работы. SMTP - это сервер, с которым нужен коннект по TCP/IP и время отправки письма может быть достаточно большим. Единственный стабильный вариант работы реализован сейчас: вызывать функцию mail и отдавать заботу об отправке письма системе. Если этот подход вам не очень нравится, переопределяйте функцию mail в своих интересах.
Цитата
Taras Savchuk пишет: Нормально - это понятие относительное, помимо него есть понятия стройности реализации и правильности подхода
Совершенно согласен. Только не путайте "Нормально" по отношению к производительности, и "стройность реализации" по отношению к решаемой задаче.
Цитата
Taras Savchuk пишет: Наличие возможности отсылать по SMTP, кстати, существенно бы упростило конфигурирование систем, на которых крутятся нескольких полностью изолированных (jail) сайтов, т.к. можно было бы отказаться от поддержки MTA или специального бинарника в каждой виртуальной машине, а использовать центральный MTA "на всех".
Похоже, мы с вами решаем разные задачи
Цитата
Taras Savchuk пишет: Помимо объективных причин (производительность, упрощение конфигурации) я бы сказал, что возможность выбрать (нужный, свой) SMTP сервер при отсылке почты - признак хорошего тона.
Тарас, объясните, почему тогда PHP не придерживается такого "хорошего тона"?
Вообще, я очень озадачен, что тема тестирования производительности перешла на обсуждения вопроса как отсылать почту. Связь очень условная между этими темами. Это еще раз доказывает мне, что если что-то хотите обсудить, делайте это в отдельных темах и возникшие по ходу вопросы выделяйте в отдельные темы
Мы пробовали OpenSTA -- до 30 одновременных активных юзеров (дальше просто канал кончился на сервере P4/2Гбайт/300 Гбайт, 10-Мбит канал (не боевой, тестовый сервак, пропускная способность ограничена шейпером).
Mikhail Tokovinin пишет: Делать это надо только локально, иначе, это уже тестирование "не того"
Надобности просто не было, это делалось для проверки правильности некоего подхода. Сайт добьем -- еще помучаем. И хочу отметить важный момент -- в общем случае говорить о "скорости реального сайта на Битриксе" довольно сложно, поскольку скажем, кривовато сделанный компонент в шаблоне легко может затормозить все напрочь. Тут скорее интересны были бы какие-то стандлартные тесты что ли... Скажем, разработчики сделают N тестовых страниц, которые станут базой для более или менее единообразного сравнения, тогда пользователь, прогнав такой тест, сможет сделать относительно объективные выводы на тему "на этом хостинге БУС летает" или "тут неимоверно тормозит".