После некоторой настройки сервера я решил провести стресс-тест, используя осада.
2 фронтальных сервера в контейнерах lxc, балансировка нагрузки nginx - на хост-машине. (при необходимости добавляю конфиги nginx и sysctl позже)
Хост-машина - выделенный сервер на OVH:
Intel Xeon E5
2x E5-2630v3 2.4 GHz (32 cores at all)
128 GB of RAM DDR3
2x 480GB SSD (RAID 1)
Некоторые параметры контейнеров:
8 cores, 8192 cpu units per core
8 GB RAM
В контексте lxc - php + static (images, css, js). В будущем нагрузка будет на вывод статического содержимого. Тест проводился на статической странице с js, css и изображениями.
В целом результаты тестов разные, и странное поведение:
siege http://example.com/some_url -r50 -c250
тест №1:
Transactions: 12451 hits
Availability: 99.61 %
Elapsed time: 36.84 secs
Data transferred: 80.52 MB
Response time: 0.06 secs
Transaction rate: 337.98 trans/sec
Throughput: 2.19 MB/sec
Concurrency: 21.43
Successful transactions: 12451
Failed transactions: 49
Longest transaction: 1.18
Shortest transaction: 0.04
тест №2, те же параметры
Transactions: 12152 hits
Availability: 97.22 %
Elapsed time: 200.90 secs
Data transferred: 29.16 MB
Response time: 1.15 secs
Transaction rate: 60.49 trans/sec
Throughput: 0.15 MB/sec
Concurrency: 69.67
Successful transactions: 12152
Failed transactions: 348
Longest transaction: 63.40
Shortest transaction: 0.16
В первом случае производительность хорошая, иногда во втором - худшее и странное поведение, а именно:
Начинается тест - CPU каждого контейнера загружен на ~ 50%, но со временем нагрузка уменьшается, а время отклика - увеличивается, появляются таймауты подключения. Затем скорость увеличивается, и те «волны» перед окончанием теста. Во время тестов не было аномалий в top / htop, дисках ввода-вывода или журналах серверов. Заранее спасибо за совет;)