Утилиту для нагрузочного тестирования siege советуют многие, но под windows её в чистом виде никто не портировал. Но ведь есть же Cygwin. О нем и пойдет речь, по подобной инструкции можно установить и другие подобные программы.
Статья «от новичка новичку» о том, как установить Cygwin, какие типовые проблемы могут встретиться в процессе. Аксакалов тоже жду под катом — ничего нового не узнаете, зато сможете покритиковать по делу — а мы, новички, будем вам благодарны!
- Скачиваем cygwin с официального сайта. Запускаем установку.
- Выбираем установку из интернета — определенно, раз вы только что скачали инсталлятор, остальных файлов для установки у вас пока нет.
- Выбираем директорию, в которую будут сохранятся установочные пакеты — они могут пригодиться при переустановке установке «поверх» (докачивании каких то пакетов — старые же берутся локально и заново не загрузятся).
- Выбираем зеркало для скачивания. Любое. Впрочем, если вы точно знаете, откуда у вас пакеты загрузятся быстрее, вы сможете сделать осознанный выбор… В остальных случаях — таки любое.
- Самое интересное — выбор необходимых пакетов. Для скачивание ставьте галочку в столбце bin (скачивать бинарные, исполнямые файлы — для наших целей исходники ни к чему).
Нам понадобится:
- gcc-core (C compiler)
- gcc-g++ (C++ compiler)
- libstdc++6-devel (C++ standart library...)
- aCC (byacc, The Berkeley LALR parser generator)
Когда отметите всё, что нужно — идем на следующий шаг.
- Теперь вам предложат дополнительно скачать все пакеты, от которых зависят выбранные вами. Соглашайтесь обязательно
- Установка Cygwin, собственно, завершена. Теперь скачиваем siege с официального сайта и распаковываем в домашнюю директорию пользователя в cygwin. У меня пользователя зовут nubilius, cygwin ставил в
C:cygwin
, домашняя директория в результате —C:cygwinhomenubilius
. - Ну что, теперь осталось выполнить две команды — переход в директорию siege (
cd siege
) и запуск компиляции и сборки приложения (./configure && make && make install
). - Теперь проверим, что сборка прошла успешно — спросим у siege её версию командой
siege -v
.ОНО ЖИВОЕ!
- И хотя оно уже живое, важно сделать ещё одно полезное действие — создать папку
/var/log
в папке cygwin (для меня, например, этоC:cygwinvarlog
). Иначе siege будет падать, не найдя нужную директорию (ну или перенастройте её). Всё, с этого места можете радоваться и использовать по назначению, инструкция по программе выходит за рамки статьи, благо её переводов на хабре достаточно много.
- Не компилируется, падает с такими или подобными ошибками:
Вы установили не все пакеты — проведите установку cygwin заново, выбрав недостающее (на скриншоте это строчки, заканчивающиеся на "no"). Старые пакеты заново загружаться не будут, установка поверх пройдет очень быстро.
- Siege запускается, но падает с ошибкой
Тут сразу две проблемы.
- Не создана папка
/var/log
, см. последний пункт данной инструкции. - Используется некорректный файл, с недостижимыми ссылками.
- Не создана папка
- Siege запускается, но в процессе выдает такие ошибки, а потом вообще падает.
Как я понимаю (могу ошибаться!), мы уперлись в лимит одновременных соединений. Нужно или как то перенастроить систему, или уменьшить число пользователей/потоков при тестировании.
Автор: Newbilius