Является ли 100 или менее запросов в секунду (для не кэшированных страниц), что можно ожидать с Rails?

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

я сравнивал ruby на rails 3, и кажется, что самый высокий уровень запросов в секунду, который я могу получить, составляет около 100 запросов в секунду.

я использовал Phusion passenger с nginx и Ruby 1.8.7.

это на ec2 m1.большой пример:

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 и т. д.), Я просто хочу почувствовать необработанные числа.

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

1 ответов


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

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

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