2015-06-16 3 views
0

Я новичок в героике и рубине, и моя задача в текущем проекте - улучшить производительность приложения, работающего на герою.Время отклика ухудшилось .. Предложение по улучшению производительности

У нас есть приложение, работающее на героку, построенное на Ruby on Rails с использованием DataDotCom gem.

Из последних нескольких недель пользователи жалуются, что приложение очень медленно, и при входе в приборную панель и увидеть активность есть это предупреждение/ошибка появляется:

время App оповещения Response деградирует. По сравнению с этим днем ​​на прошлой неделе ваше среднее время ответа увеличилось на 341%, а ваше 95-е процентиль времени ответа увеличилось на 122%.

Я новичок в heroku, поэтому размещаю всю актуальную информацию. Здесь наша установка выглядит следующим образом:

динамометрические стенды:

enter image description here

Общая информация:

Region   US 
Stack   cedar-10 
Framework  Ruby 
Repo size  1.0MB 
Slug size  25.8MB of 300MB 

База данных:

Plan   Dev 
Status   Available 
Primary   Yes 
Connections  2/20  
Data Size  8.1 MB 
Tables   2 
PG Version  9.3.6 
Created   2014-07-29T18:10:00Z 
Rollback  Unsupported 
Rows   2055/10000 (In compliance) 

Может кто-нибудь пожалуйста, предложите мне, если это время добавить еще один динамо или настроить приложение для улучшения производительности е.

или я должен открыть билет с герокой и посмотреть, что они предлагают?

Примечание: Я разместил тот же вопрос на форуме heroku, и я не получил никаких предложений, поэтому проверяю SO. Вот ссылка: https://discussion.heroku.com/t/response-time-degraded-need-suggestion-on-improving-performance/1192

EDIT: Это приложение имеет только одну таблицу с ID пользователя и пароль, а затем один раз вошли в систему, это делает вызов Salesforce и отображает данные. Это своего рода оболочка для salesforce, чем предоставление пользователям прямого доступа к salesforce.

+0

Возможно, вы захотите начать чтение [common rails performance gotchas] (https://www.airpair.com/ruby-on-rails/performance) и как [профайл приложения] (http: // railscasts.com/episodes/368-miniprofiler). Вы также не указываете, сколько трафика ваш сайт получает.Если это небольшой объем трафика и небольшое приложение, то самым распространенным виновником являются неэффективные запросы к базе данных или динамики, которые будут спать. – max

+1

Если вы новичок в Ruby и Heroku, то, возможно, вы не лучший человек, которому будет поручена настройка производительности приложения RoR, работающего на Heroku. Вы должны привлечь кого-то, у кого есть некоторый опыт в этом. Если это невозможно, выполните поиск в Интернете для мониторинга/настройки производительности рельсов. Есть много хорошо написанных статей. – brahmana

+0

Это приложение не имеет большой базы данных, оно имеет только одну таблицу с идентификатором пользователя и паролем, и как только пользователь регистрируется в приложении, вызывается вызов salesforce и отображает данные. Это своего рода оболочка для чтения данных из salesforce. – javanoob

ответ

1

Вам нужно точно определить, что изменилось, не имеют смутных номеров высокого уровня.

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

Вам нужно отслеживать нижний уровень, так что, надеюсь, вы используете что-то вроде NewRelic для отслеживания эффективности транзакций.

Смежные вопросы