Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RailsConf 2017: Your App Server Config is Wrong by Nate Berkopec As developers we spend hours optimizing our code, often overlooking a simpler, more efficient way to make quick gains in performance: application server configuration. Come learn about configuration failures that could be slowing down your Rails app. We’ll use tooling on Heroku to identify configuration that causes slower response times, increased timeouts, high server bills and unnecessary restarts. You’ll be surprised by how much value you can deliver to your users by changing a few simple configuration settings.
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 the talk titled 'Your App Server Config is Wrong' at RailsConf 2017, presenter Nate Berkopec emphasizes the importance of application server configuration in optimizing the performance of Ruby on Rails applications. The presentation covers various aspects that developers often overlook when managing application servers like Puma, Passenger, Unicorn, Thin, and Webrick, highlighting how misconfigurations can lead to poor resource utilization, high costs, and inefficient response times. Berkopec walks through a structured approach for optimizing server configurations aimed at improving performance, which includes: - **Determining Worker Count**: Assess how many concurrent requests need handling, using tools like Heroku’s dashboard to gauge requests and average response times. - **Memory Usage Estimation**: Calculate memory demands per worker and avoid overloading the dyno. Misconfigured limits can lead to unnecessary memory spikes and restarts. - **Container Sizing**: Choose the correct dyno size based on performance requirements, understanding how memory usage behaves in Ruby applications. - **Connection Limits**: Be mindful of database connection limits while configuring worker threads to prevent bottlenecks and ensure efficiency. - **Monitoring Performance**: After deployment, continuously monitor application health indicators like CPU usage, memory consumption, and response time to adjust configurations as needed. Berkopec illustrates these points with practical examples, including a case study of the Envato platform, demonstrating how poor server configurations led to significant underutilization of resources. The key takeaways from Berkopec's presentation showcase that many performance issues within Rails applications can often be resolved through thoughtful server configurations. By understanding and fine-tuning factors such as worker count, memory allocation, and connection limitations, developers can deliver vastly improved user experience and lower operational costs. The overarching conclusion encourages developers to invest time in server configuration as it can lead to substantial performance gains without requiring extensive code optimizations.
Suggest modifications
Cancel