Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wh8 #24

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

wh8 #24

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 15 additions & 0 deletions .idea/rails-optimization-task8.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 20 additions & 0 deletions case-study.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
Наччу с того, что проект у нас хоть и большой, но весьма своеобразный и местами скучный - мы разрабатываем
центральную внутрекорпоративную систему, большая часть функционала которой состоит из КДП и интеграции с другими внутренними (и не очень) сервисами.
Тут вам и 1С через IIS + Odata, и своя система ролей и всякие рельсовые плюшки.
Очевидно, коли данные должны историчны (почти все), запросы к базе порой ну оочень непростые. Из-за чего приходится пользоваться как голым SQL, так и arel.

Разрабатывается проект уже больше трех лет (сижу у истоков) и, как принято, находится в производственном аду - все всегда что-то надо "сделать руками",
правила меняются, а в релиз накидываются все новые и новые задачи.

Мониторинг отсутсвовал, до того, как я вкорячил `NewRelic` - мой первый шаг на пути к оптимизации.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ура, NewRelic


Навскидку могу прикинуть пару тройку мест, где я бы сделал лучше, будь на то время (и сделал в одном) - ускорил один жирный запрос с 20 до 1 секунды - моя вторая оптимизацмя)

Роль в проекте перешла по наследству ппосле ухода тимлида - делаю все, что могу и не очень - от очевидного КР и проетирования архитектуры для будущих плюшек до подъема видновых серверов под 1С (порой выходит так себе)

Еще из интересного я оживил давно забытые параллельные тесты, немножечко оптимизировал жирные куски и добился прогона 7к тестов за ~4 минуты локально, вместо 12+ до.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍


Пожалуй, на этом все, едиственное - жаль, что раз живем мы во внутренней сети, то и многие штуки, вроде `webpagetest` напрямую использовать не удается.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ну WPT можно локально себе поставить, но вам наверное это не очень надо для внутренней системы

В будущем планирую перекатиться с mariaDB на postgres, по крайней мере хотелось бы успеть до конца года))

Спасибо за внимание!)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Спасибо вам за внимание тоже, и за работу! 💪