2016-04-29 3 views
0

для моей бакалаврской диссертации. Я должен протестировать несколько экземпляров контейнеров. Как Docker, Lxc, runC, Rocket и OpenVZ.Как тестировать контейнеры? много запросов, мониторинга памяти и использования процессора

Мой протокол испытаний прост, я никогда не тестировал или сравнительный анализ, поэтому я сожалею, что я новичок :-). Можете ли вы сказать мне, подходит ли мой тест?

Итак, я просто запускаю контейнер с сервером nginx и монтирую файл index.php. Я напишу phpinfo() в нем. И я буду контролировать, использование памяти и использование процессора и использование сети.

Сначала с запросом 0, а затем с большим количеством из них, пока я не смогу сделать контейнер крахом. Поэтому все должно контролироваться.

Мне нужны инструменты, и я действительно не знаю, что использовать для отправки большого количества запросов или мониторинга контейнеров. Если кто-то может мне немного помочь, это будет потрясающе.

ответ

0

У меня был довольно большой успех, используя Siege. Его довольно легко установить и использовать, и его можно использовать, чтобы сильно ударить по вашему серверу.

siege -u yoursite.com/docker-test/ -d1 -r10 -c25

Подготовит 25 одновременных рабочие ударить сервер 10 раз с задержкой от 0 до 1 секунды между каждым запросом.

Вы можете использовать конфигурационные файлы для создания более сложных тестов, таких как тесты, которые медленно расширяются. Затем вы можете запустить его и контролировать ресурсы по мере их поступления. Удобный инструмент для nginx (который вряд ли будет вашим узким местом) для предоставления некоторой статистики в реальном времени на основе журналов - ngxtop. Я использовал его раньше, и это помогло проверить, где происходят сбои.

Что касается контроля за контейнерами/временем автономной работы, вы часто ищете несколько вещей. Использование памяти/процессора (что легко получить из таких инструментов, как top или ps. Скажите, пожалуйста, что это на linux), частоту ответа и частоту отказа. Вы заметите, что при увеличении частоты запросов ответы начнут занимать больше времени, до тех пор, пока не произойдет какое-то время или не произойдет по другой причине (из памяти и т. Д.). Что вам нужно сделать, так это следить за тем, как возникают сбои для каждого типа контейнера при определенных нагрузках. Я оставлю это до вас.