Странная производительность приложения rails + sinatra - PullRequest
0 голосов
/ 01 декабря 2010

У меня есть приложение на рельсы и приложение Sinatra. Приложение Sinatra написано для поиска часового пояса на основе ZIP или IP. Приложение Sinatra использует geoip_city gem для поиска по IP и имеет собственную базу данных для поиска ZIP. Приложение rails взаимодействует с приложением Sinatra для поиска часовых поясов.

Мы работали над производительностью приложения rails и значительно улучшили его. Мы проверили это с помощью Jmeter, с 1000 потоков, работающих вечно с 60 разгона. Это хорошо работает. Мы также протестировали приложение Sinatra с похожими номерами, и оно работает достаточно хорошо. Однако когда мы тестируем фрагмент, где приложение rails обращается к приложению Sinatra для поиска часового пояса, после периода увеличения мы получаем ошибки тайм-аута. Время ожидания запроса часового пояса, сделанное приложением rails к приложению Sinatra, истекло. Если я уменьшу количество потоков в Jmeter до 100, приложение будет работать нормально.

Интересно, почему это происходит, если приложение rails и приложение Sinatra работают нормально по отдельности? Что снижает производительность, когда рельсы и приложение Sinatra связаны друг с другом? Это так и должно быть?

1 Ответ

0 голосов
/ 04 декабря 2010

Как правильно заметил в комментарии @troelskn, оба приложения конкурировали за ресурсы.Перемещение одного из них на другой сервер с выделенными ресурсами, похоже, решило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...