Skip to content

Latest commit

 

History

History
31 lines (23 loc) · 3.07 KB

case-study.md

File metadata and controls

31 lines (23 loc) · 3.07 KB

To start

  • Занимаюсь развитием бесконтактной оплаты на транспорте
  • более 5 лет
  • по мере прохождения курса стал активно продвигать это
  • мониторинг был, но курс позволил улучшить его
  • в старых проектах очень много работы по оптимизации, как минимум обновить версию руби
  • руководитель группы разработки, проектом занимаюсь 2 года, оптимизация и развитие проектов

О чём интересно рассказать

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

На старте работы я понял, что невозможно вести такие проекты без мониторинга и профилировщиков, поэтому начал активно изучать performance и использовать в работе.

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

Первая половина курса была более полезна: работа с профилировщиками, памятью и низкоуровневыми моментами языка.

Rack-mini-profiler, NewRelic и PgHero стали неотъемлемой частью моей работы. Благодаря PgHero ушли долгие запросы к бд, а RMP и NewRelic помогли оптимизировать внутреннюю работу сервисов.

Оптимизация индексов и запросов дали прирост скорости x10. Оптимизация работы с памятью и обновление руби с 2.4 на 2.7.3 улучшили работу сервиса.

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