Низкое соотношение запросов / с на машине EC2 на PHP Hello World

У меня проблема с AWS. Я использую службу эластичного контейнера, созданную по ссылке https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html Тип экземпляра - t2.xlarge ( https://aws.amazon.com/ec2/instance-types/ ). Внутри контейнера есть конфигурация nginx + php7.0-fpm. Конечно, я тестировал то же самое, используя apache2 вместо nginx. Все остальное было так же.

Я использовал loader.io ( https://loader.io/ ) и ApacheBench ( https://en.wikipedia.org/wiki/ ApacheBench ) для выполнения нагрузочного тестирования.

Как вы можете видеть в списке типов экземпляров, экземпляр, который я использую, должен иметь некоторую нагрузку. Но когда я его протестировал, результаты были немного шокирующими. Эта машина действительно выполняла 1500 запросов / с в программе PHP Hello World. По сути, это была простая команда echo для всего файла. Мне удалось получить те же результаты на моем персональном компьютере (MacBook Pro 13, середина 2014 г.), который, судя по доступным характеристикам, должен машина будет менее мощная, чем t2.xlarge. Кроме того, для экземпляра AWS были доступны почти все ресурсы контейнера Docker и служб внутри, в то время как на моем Mac параллельно работала куча другого «тяжелого» программного обеспечения.

Путешествуя по сети, я нашел несколько примеров, когда люди имели результаты, аналогичные моим, используя меньшие экземпляры, чем я. (например https://stackoverflow.com/questions/32495636/is-there-any-limitation-on-ec2-machine-or-network )

Мне было интересно, сделал ли кто-нибудь из вас когда-нибудь встречал нечто подобное? Это нормальное поведение? Могу ли я получить лучшие результаты?

По этой ссылке https://www.dropbox.com/s/22antrony35fhq0/Archive.zip?dl=0 вы можете скачать мои fpm и nginx (и apache) конфигурация.

Надеюсь, кто-нибудь может мне помочь.

РЕДАКТИРОВАТЬ:

Я ' Мы выяснили, что, используя ту же машину EC2 без ECS, я могу получить примерно в 10 раз больше запросов в секунду, чем при использовании ее в ECS.

Может кто что-нибудь знает об этом? Может ли Docker так сильно снизить производительность? Или это могло быть из-за плохой реализации от AWS?

0
задан 17 January 2018 в 17:47
1 ответ

Экземпляры t2 дросселируются (с возможностью пакетной обработки для обработки всплесков) - это обсуждается здесь , так что возможно вы захотите изучить другой тип экземпляра (например, c5.large) или неограниченный режим t2.

Убедитесь, что в вашем php.ini включен php opcache , и что вы используете php7 +, так как это имеет большое значение для примеров типа «hello world». Также имейте в виду, что они часто не очень хорошие тесты, в Google есть много хороших скриптов тестов, которые могут лучше измерить реальную производительность.

0
ответ дан 5 December 2019 в 06:48

Теги

Похожие вопросы