Инструмент тестирования производительности — Siege
Инструмент тестирования производительности — Siege

1. Предисловие

Тестирование производительности, как незаменимое звено обеспечения качества программного обеспечения, направлено на оценку и улучшение эффективности работы, стабильности и скорости реакции продукта в различных условиях нагрузки. Речь идет не только об обнаружении узких мест системы, но и об использовании научных методов и инструментов, чтобы гарантировать, что наши продукты могут оставаться бесперебойными, стабильными и эффективными при одновременном доступе большого количества пользователей, обработке больших данных или высокоинтенсивных вычислениях.

В этой статье будет представлен бесплатный Инструмент тестирования производительности — Siege, который может выполнять нагрузочное тестирование и бенчмаркинг.

2. Введение

Siege — это инструмент тестирования производительности для http-нагрузочного тестирования и сравнительного анализа. Он предназначен для того, чтобы веб-разработчики могли измерить свой код и посмотреть, как он загружается в Интернете. Siege поддерживает базовую аутентификацию, файлы cookie, протоколы HTTP, HTTPS и FTP. Это позволяет пользователям получать доступ к серверу с помощью настраиваемого количества имитированных клиентов для проверки производительности сервера в одновременных условиях.

Продолжительность атаки измеряется общим количеством транзакций, смоделированных пользователей и количеством повторных атак каждого смоделированного пользователя на сервер, поэтому 20 одновременных пользователей 50 раз — это длина теста в 1000 транзакций. Показатели производительности, включая затраченное время теста, объем переданных данных (включая заголовки запросов), время ответа сервера, скорость транзакций, пропускную способность, параллелизм и количество возвратов ОК, оцениваются количественно и сообщаются в конце каждого запуска.

Поддержка платформы:

Siege написана на GNU/Linux и успешно портирована на AIX, BSD, HP-UX и Solaris. Он компилируется в большинстве вариантов System V UNIX и в большинстве новых систем BSD. Поскольку Siege опирается на функции POSIX.1b, которые Microsoft не поддерживает, он не будет работать в Windows. Конечно, вы можете использовать Siege для тестирования серверов Windows.

Официальный сайт:

https://www.joedog.org/siege-home/

3. Установка

1. Адрес загрузки установочного пакета:

https://download.joedog.org/siege/

Например, загрузите версию siege-4.1.6.tar.gz, а затем последовательно выполните такие операции, как распаковка, компиляция и установка.

Язык кода:javascript
копировать
tar -xvf siege-4.1.6.tar.gz
cd siege-4.1.6
./configure
make 
make install

2. Установка в среде Mac:

Язык кода:javascript
копировать
brew install siege

4. Приступайте к работе быстро

После завершения установки, чтобы проверить, прошла ли установка успешно, вы можете напрямую ввести команду осады в терминале.

Вы можете видеть, что указана информация об использовании параметров.

Подробное объяснение параметров:

Язык кода:javascript
копировать
-V, --version ВЕРСИЯ, номер версии печати.
-h, --help ПОМОГИТЕ, распечатайте этот раздел.
-C, --config КОНФИГУРАЦИЯ: отображает текущую конфигурацию.
-v, --verbose ПОДРОБНО, печатает уведомление на экране.
-q, --quiet ТИХИЙ: отключает подробную функциональность и подавляет вывод.
-g, --get GET извлекает заголовки HTTP-запросов и отображает транзакции, что отлично подходит для отладки приложений.
-p, --print PRINT, как и GET, печатает только всю страницу.
-c, --concurrent=NUM одновременно пользователь, значение по умолчанию — 10.
-r, --reps=NUM REPS, количество запусков теста, не может существовать одновременно с -t.
-t, --time=NUMm Тест времени, где «m» — модификатор S, M или H, например: --time=1H, 1 час теста.
-d, --delay=NUM Задержка времени, случайная задержка перед каждым запросом.
-b, --benchmark Тест производительности: нет задержки между запросами.
-i, --internet Пользователи Интернета моделируются и случайным образом нажимают на URL-адреса.
-f, --file=FILE ФАЙЛ, выберите конкретный URL-файл.
-R, --rc=FILE RC, укажите файл siegerc.
-l, --log[=FILE] Войти в файл. Если FILE не указан, используется значение по умолчанию: PREFIX/var/siege.log.
-m, --mark="text" MARK, пометьте файл журнала строкой. От 0,001 до числа (не включается в статистику).
-H, --header="text" Добавьте в запрос заголовок запроса (может быть несколько).
-A, --user-agent="text" Установите пользовательский агент в запросе.
-T, --content-type="text" Установите тип контента в запросе.
-j, --json-output JSON OUTPUT, выводит окончательную статистику на стандартный вывод в формате JSON.
  --no-parser NO PARSER, закройте парсер HTML-страницы.
  --no-follow NO FOLLOW,Нетсосредоточиться HTTP-перенаправление.

1. Введите команду загрузки на терминале.

Например, выполните нагрузочный тест для трех URL-адресов одновременно и выполните его 2 раза.

Язык кода:javascript
копировать
siege -c 3 -r 2 https://www.httpbin.org/get

2. Результаты выполнения

Язык кода:javascript
копировать
Общее количество кликов: 6 кликов
Процент успеха: 100,00%
Сколько секунд всего это заняло: 2,78 секунды.
Всего передано данных: 0,00 MB
Время отклика: 1,27 секунды
Среднее количество обрабатываемых запросов в секунду: 2,16 оборотов в секунду.
Пропускная способность: 0,00 МБ/с
Самый высокийодновременно:2.74
Количество успешных запросов: 6
Количество неудачных запросов: 0
Максимальное время, затраченное на перевод: 1,55.
Минимальное время, потраченное на перевод: 0,86
boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose