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

refact: Stories rendering optimize #146

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

Conversation

alexrails
Copy link

No description provided.

Copy link
Collaborator

@spajic spajic left a comment

Choose a reason for hiding this comment

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

👍

around_action :profile_with_stackprof, only: :index

def profile_with_stackprof
StackProf.run(mode: :wall, raw: true, out: "tmp/stackprof-wall.dump", interval: 50) do
Copy link
Collaborator

Choose a reason for hiding this comment

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

👍

Total: 2766 4644 285.4 4675 4950

Percentage of the requests served within a certain time (ms)
50% 4675
Copy link
Collaborator

Choose a reason for hiding this comment

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

4,5с это как-то чересчур медленно, возможно что-то пошло не так

rack-mini-profiler теперь показывает что данные кэшируется и лишний раз паршиал `_single_story.html.erb` не рендерится.
При этом показатели количества комментариев и количества лайков показывают актальное значение, тк сам объект story не закэширован.

Попробовал профилирование с помощью Stackprof в `around_action` режиме и Ruby-prof с `callgrind`.
Copy link
Collaborator

Choose a reason for hiding this comment

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

👍

При этом показатели количества комментариев и количества лайков показывают актальное значение, тк сам объект story не закэширован.

Попробовал профилирование с помощью Stackprof в `around_action` режиме и Ruby-prof с `callgrind`.
Удобно для профилирования отдельных методов. Из минусов, в трейсе много лишней рельсовой информации.
Copy link
Collaborator

Choose a reason for hiding this comment

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

чтобы убрать рельсовую инфу можно профилировать какой-то просто кусок бизнес-логики

Удобно для профилирования отдельных методов. Из минусов, в трейсе много лишней рельсовой информации.

## Local_Production env
Создал новый энв `profile`, который максимально приближен к production.
Copy link
Collaborator

Choose a reason for hiding this comment

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

👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants