Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Elena Tănăsoiu is a Senior Engineer at GitHub. She spoke about how they do service modeling and other things at GitHub. Friendly.rb is an International Ruby Conference hosted in Bucharest at the end of September and focuses on community and creating connections. https://friendlyrb.com https://twitter.com/friendlyrb
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In her presentation at the Friendly.rb 2023 conference, Elena Tănăsoiu, a Senior Engineer at GitHub, delves into the concept of service modeling, which she has been working on for the past few months. The talk provides insights into how GitHub approaches performance optimization of its vast Rails monolith. **Key Points Discussed:** - **Introduction to Service Modeling:** - Service modeling is the process of identifying and documenting performance bottlenecks in GitHub services. - It involves collaboration with service owners to address issues and improve performance. - **Performance Testing Environment:** - GitHub creates an environment to analyze the performance impacts of specific endpoints during real traffic scenarios. - Focus is on educating engineers on their code's resource impact. - **Technical Background:** - GitHub relies on Unicorn rather than Puma, which is now standard in Rails. - The focus is on uncovering performance issues like the notorious 'n+1 queries' which can lead to excessive database calls. - **Findings from Profiling:** - Profiling revealed that over 40% of rows fetched by their monolith came from one heavily queried permissions table. - Six controllers were identified as responsible for 50% of the trafficked routes, indicating areas ripe for optimization. - **Process of Service Optimization:** - Steps include gathering requests data, prioritizing endpoints based on load and latency, and visualizing service flows using diagrams and flame graphs. - Elena highlights the importance of understanding dependencies across databases and caches, along with the utilization and saturation levels impacting performance. - **Future Considerations:** - As GitHub transitions to React, new performance demands will shift how their services are structured, necessitating ongoing analysis. - **Conclusion and Recommendations:** - Success in this optimization work is measured through monitored performance metrics, and findings are shared via educational blog posts. - Elena encourages others to adopt similar methodologies for performance improvement, such as the USP method, tracing tools, and incorporating real traffic data in their evaluations. The talk concludes with a sense of community spirit and an invitation for collaboration in optimizing code for better performance, leaving the audience with actionable insights to enhance their own processes.
Suggest modifications
Cancel