Можно ли ожидать 100 или менее запросов в секунду (для некэшируемых страниц) с Rails? - PullRequest
6 голосов
/ 16 ноября 2011

Предисловие: Пожалуйста, не начинайте обсуждение преждевременной оптимизации или чего-либо связанного с этим.Я просто пытаюсь понять, какую производительность я могу получить от одного сервера с рельсами.

Я тестировал ruby ​​на рельсах 3, и, похоже, это самая высокая частота запросов в секунду, которую я могуget - около 100 запросов в секунду.

Я использовал phusion passenger с nginx и Ruby 1.8.7.

Это на экземпляре ec2 m1.large:

7.5 GB memory
4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each)
850 GB instance storage
64-bit platform
I/O Performance: High
API name: m1.large

Страница была очень простым действием, которое записывало одну строку в mysql.

user = User.new
user.name = "test"
user.save

Я предполагаю, что нет кэширования (memcache и т. Д.), Я просто хочу почувствовать необработанные числа.1015 *

Я использовал apache bench в одном и том же экземпляре ec2 и использовал разные уровни # запросов (от 1000 до 10000 и разное количество одновременных запросов 1/5/10/25/50/100).

1 Ответ

3 голосов
/ 16 ноября 2011

Экземпляр EC2 m1.large на самом деле не такой быстрый, поэтому эти цифры не удивительны.Если вам нужна производительность, вы можете либо перейти на более крупный экземпляр, поскольку сейчас есть некоторые с 80 ECU, либо попробовать другого поставщика.

Я обнаружил, что Linode обычно предлагает более высокийпроизводительность за ту же цену, но она не такая гибкая и не распространяется на очень большое количество серверов.Это намного лучше подходит, если вы находитесь в фазе развертывания «до 20 серверов».

Также не думайте, что MySQL - это бесплатная операция.

...