Comments 67
Реально полезная вещь! Давно искал что-то подобное. Спасибо!
А можно ли симитировать движение пользователя по сайту, использующему сессии?
Т.е. первый запрос — это запрос авторизации, а дальше запрашиваются какие-то страницы.
При этом «пользователи» разные.
Т.е. первый запрос — это запрос авторизации, а дальше запрашиваются какие-то страницы.
При этом «пользователи» разные.
к сожалению, на данный момент нет. по крайней мере на сайте автора нет упоминаний про авторизацию.
на главной странице сайта в первом абзаце:
Siege supports basic authentication, cookies, HTTP and HTTPS protocols.
:)
Siege supports basic authentication, cookies, HTTP and HTTPS protocols.
:)
прошу прощения — не доглядел=) сам только начинаю разбираться.
Что ж, спасибо:)
Значит, можно брать на заметку.
Значит, можно брать на заметку.
Я бы не назвал поддержку cookies полноценной, ведь нельзя установить куку для имитации зарегистрированного юзера.
В Selenium есть реализация сценариев.
Советую попробовать Apache Jmeter — и для начинающих очень удобен (есть gui для разработки тест-планов) и для серьезных тест-задач тоже очень хорош. Поддерживает распределенное тестирование, http сессии и аутентификацию, сложные сценарии, графические отчеты, сохранение результатов, пре/пост-процессоры контента и еще кучу других полезных фич.
Единственный серьезный минус — жрет много памяти (по сравнению с тем же siege).
здесь краткий туториал на русском.
Единственный серьезный минус — жрет много памяти (по сравнению с тем же siege).
здесь краткий туториал на русском.
Пока из бесплатного лучше Apache JMeter ничего не видел. Нужно посмотреть этого зверя поближе
JMeter не умеет генерировать большие нагрузки (>5 KRPS) с одного хоста.
А во что он «упирается»? В смысле почему не умеет? Искусственное ограничение, или тредов в операционке не хватает?
Jmeter вообще странный — то запущенный тест не останавливается иначе как по kill -9, то результаты первого и второго прогонов отличаются в 2 раза, то собраная статистика не стирается иначе как перезапуском. И BeanShell — вообще чудо какая штука.
Вобщем, ура ещё одному бенчмарку вебсерверов, и большое спасибо за использование Си =)
Вобщем, ура ещё одному бенчмарку вебсерверов, и большое спасибо за использование Си =)
Да. Отличная штука, очень удобна в использовании.
а есть инструменты для записи сценариев? или тесты нужно писать вручную?
OpenSTA позволяет записывать сессии и потом их воспроизводить, еще вроде WAPT такое позволяет и еще несколько тулзеней названия которых сейчас уже и не вспомнить (последний раз пользовался этим добром лет 5 назад, а то и больше).
в общем хотелось бы понять в чем перелесть Siege. чем она лучше или хотя бы не хуже уже существующих инструментов?
OpenSTA позволяет записывать сессии и потом их воспроизводить, еще вроде WAPT такое позволяет и еще несколько тулзеней названия которых сейчас уже и не вспомнить (последний раз пользовался этим добром лет 5 назад, а то и больше).
в общем хотелось бы понять в чем перелесть Siege. чем она лучше или хотя бы не хуже уже существующих инструментов?
OpenSTA позволяет записывать сессии и потом их воспроизводить, еще вроде WAPT такое позволяет и еще несколько тулзеней названия которых сейчас уже и не вспомнить
JMeter умеет работать в качестве прокси и на основе запросов записывать план тестирования.
Ну siege — тоже «уже существующий инструмент», и совсем даже не новый) Как мне показалось — эдакая замена для ab, только понавороченней.
А мне интересно — программа обращается к указанным адресам, загружая только саму HTML-страницу (или файл, ясное дело) или производит анализ и загружает ещё и всё, что есть на этой странице (картинки, скрипты, внешние CSS и т.п.)?
По-моему не слишком получается объективное тестирование, если программа долбится и скачивает только сами HTML-файлы, ведь любой высоконагруженный проект разделяет нагрузку между серверами (вроде Apache + nginx + кэш сверху), и хотелось бы оценивать всю систему в целом. Кто-нибудь знает что-нибудь подобное? :)
По-моему не слишком получается объективное тестирование, если программа долбится и скачивает только сами HTML-файлы, ведь любой высоконагруженный проект разделяет нагрузку между серверами (вроде Apache + nginx + кэш сверху), и хотелось бы оценивать всю систему в целом. Кто-нибудь знает что-нибудь подобное? :)
Именно с помощью этой утилиты два уже «тестируют» мои серверы какие то школьники. Так что использовать можно и для не совсем благих намерений.
Переносной «хабраэффект»? Спасибо, проверюсь!
Siege? Heil!
"..Preparing 25 concurrent users for battle."
Из серии «Программисты шутят» :)
^___^
Из серии «Программисты шутят» :)
^___^
ApacheBench + Перловый модуль HTTPD::Bench::ApacheBench?
Ачат жив… у кузи всегда интересные материалы
Чем он лучше ab?
А если нужно тестить IIS?
ab вроде бы просто тупой бенчмарк — натравили его куда-нибудь, и он запрашивает страницу с макс. возможной частотой. Поправьте, если нет, могу тут ошибаться, конечно, но на превый взгляд — так.
А siege умеет имитировать (в какой-то мере) действия пользователей. Например, N пользователей делают запросы (как GET, так и POST) к разным страницам, причем каждый пользователь — через случайный интервал времени (например, от 1 до 10с).
А siege умеет имитировать (в какой-то мере) действия пользователей. Например, N пользователей делают запросы (как GET, так и POST) к разным страницам, причем каждый пользователь — через случайный интервал времени (например, от 1 до 10с).
Мне не понятен сам смысл этой задумы. А что если в один прекрасный момент пользователи всей толпой ударят по одному узкому, тормозному месту, вместо ваших рандомных манипуляций с этой программе.
Я думаю разработчик тестируемого веб-проекта лучше этой программы знает, какие запросы будут самыми тяжёлыми. Так зачем включать в тест эту имитацию? Которая, кстати, только добавит воды в тест. И отожрёт процессорное время если тестирование будет происходить на той же машине…
Я думаю разработчик тестируемого веб-проекта лучше этой программы знает, какие запросы будут самыми тяжёлыми. Так зачем включать в тест эту имитацию? Которая, кстати, только добавит воды в тест. И отожрёт процессорное время если тестирование будет происходить на той же машине…
1. Узкое место может быть не так, где ожидалось.
2. Возникнуть оно может из-за того что все долбятся не в одну страницу, а в разные. Одна страница может закешироваться, а пачка страниц может в кеш не влезть и вылезет проблема.
2. Возникнуть оно может из-за того что все долбятся не в одну страницу, а в разные. Одна страница может закешироваться, а пачка страниц может в кеш не влезть и вылезет проблема.
Согласен. Могут быть проблемы с какими-нибудь блокировками БД… Файлов… И прочего…
Хм… Полезный инструментарий 8)))
Хм… Полезный инструментарий 8)))
Был бы еще полезнее, если бы работал как спайдер. В конфиге задавались правила, куда можно ходить, а куда нельзя (например, за пределы домена) и спайдер бы сам по ссылкам ходит, которые он видел на странице, авторизировался в формах, используя пул паролей и логинов итд. Вот тогда, исключая места в которые можно попасть только через JS или постинга формы с, например, капчей, было бы более-менее приближенное к реальности тестирование.
Ведь на тех паре десятков url что будут внесены в конфиг, проблемы наверняка не возникнет, в кеш все влезет.
Ведь на тех паре десятков url что будут внесены в конфиг, проблемы наверняка не возникнет, в кеш все влезет.
стоит однако заметиьт что siege относительно ab2 жутко (!) прожорливый. Например, если натравить на helloworld апача — то 90% cpu на той же машине сожрёт сам siege.
+ он у меня показал чудеса нестабильности, опять же относительно ab2.
+ он у меня показал чудеса нестабильности, опять же относительно ab2.
Есть ли какие-нибудь преимущества, помимо компактности, у Siege по сравнению с микрософтовской
Web Application Stress (WAS) Tool (см. support.microsoft.com/kb/313559)?
Web Application Stress (WAS) Tool (см. support.microsoft.com/kb/313559)?
Удивительно хорошая утилитка. Наконец-то я проверил максимальную нагрузку на свою самопальную вики. Оказалось, что на 100 юзерах 18% запросов просто утеряется по таймауту… жуть. А всё из-за перла, на движке которого вики и сидит… Может питон лучше будет?
Пересмотреть алгоритмы будет лучше… Не исключено что узкое место в базе, например.
А всё из-за перла, на движке которого вики и сидит…
Жесть… Судя по всему — вы хоть на чистом СИ пишите, толку не будет.
Некоторые вунь на ПХП высоконагруженные сайты пишут. И ни чего.
Плохому танцору...(с)
Жесть… Судя по всему — вы хоть на чистом СИ пишите, толку не будет.
Некоторые вунь на ПХП высоконагруженные сайты пишут. И ни чего.
Плохому танцору...(с)
Можно и на си написать — лишь бы за это заплатили =)
А если серьёзно, простая проверка нагрузки cpu top'ом показала, что при 10 пользователях страница генерируется перловым скриптом аж 2.5 секунды, при этом жрёт это радость 25-30% cpu, на 2х ядерном 2х процессорном сервере. Чего уж там скрывать — основа сайта twiki движок. Создаётся он как опен-сорс проэкт. И ожидать там всерх быстрой производительности я и не собирался. Самому писать двигло для сайта — тоже как-то… нету столько свободного времяни.
А про плохого танцора, уважаемый, вы себе сайт сами целиком писали?
А если серьёзно, простая проверка нагрузки cpu top'ом показала, что при 10 пользователях страница генерируется перловым скриптом аж 2.5 секунды, при этом жрёт это радость 25-30% cpu, на 2х ядерном 2х процессорном сервере. Чего уж там скрывать — основа сайта twiki движок. Создаётся он как опен-сорс проэкт. И ожидать там всерх быстрой производительности я и не собирался. Самому писать двигло для сайта — тоже как-то… нету столько свободного времяни.
А про плохого танцора, уважаемый, вы себе сайт сами целиком писали?
А ab отменили?
Надеюсь, что данный материал будет кому-нибудь полезен.Не скромничайте!.. :)
Спасибо за статью, только пришлось гуглить чтобы скачать. Кому нужно выкладываю ссылку для скачивания Siege
На сколько я понял правильная ссылка www.joedog.org/siege-home/.
Так же можно установить в ubuntu через apt-get.
Так же можно установить в ubuntu через apt-get.
Спасибо за перевод мана :).
Отметьте, пожалуйста, особо, что в определении var=value пробелы вокруг '=' недопустимы, а то оригинальный ман вводит в заблуждение.
Отметьте, пожалуйста, особо, что в определении var=value пробелы вокруг '=' недопустимы, а то оригинальный ман вводит в заблуждение.
Спасибо за статью.
Вот тут
>>Concurrency – количество одновременных подключений при которых сервер отвечает без задержек.
не точный перевод
Concurrency is average number of simultaneous connections, a number which rises as server performance decreases.
примерно так:
Concurrency – среднее число одновременных подключений, которое увеличивается с падением производительности сервера.
Вот тут
>>Concurrency – количество одновременных подключений при которых сервер отвечает без задержек.
не точный перевод
Concurrency is average number of simultaneous connections, a number which rises as server performance decreases.
примерно так:
Concurrency – среднее число одновременных подключений, которое увеличивается с падением производительности сервера.
Transactions: 147993 hits
Availability: 99.78 %
Elapsed time: 599.92 secs
Data transferred: 1870.78 MB
Response time: 0.98 secs
Transaction rate: 246.69 trans/sec
Throughput: 3.12 MB/sec
Concurrency: 240.89
Successful transactions: 81039
Failed transactions: 332
Longest transaction: 29.66
Shortest transaction: 0.01
Вот не пойму 81039+332 не равно 147993, где еще часть запросов?
Availability: 99.78 %
Elapsed time: 599.92 secs
Data transferred: 1870.78 MB
Response time: 0.98 secs
Transaction rate: 246.69 trans/sec
Throughput: 3.12 MB/sec
Concurrency: 240.89
Successful transactions: 81039
Failed transactions: 332
Longest transaction: 29.66
Shortest transaction: 0.01
Вот не пойму 81039+332 не равно 147993, где еще часть запросов?
Sign up to leave a comment.
Siege — утилита для нагрузочного тестирования веб-серверов