|
|
|
|
|
by jashmatthews
3057 days ago
|
|
In GitLab's case, a lot of their issues are just the classic self inflicted N+1 queries and poor planning of how to represent events in a way that could be quickly queried for display. OTOH, the background job memory issues were completely not their fault. Glibc malloc trades high memory usage for keeping both high throughput and simplicity. With Sidekiq or puma this causes much higher memory usage than necessary. Switching to jemalloc, which they did, can reduce memory usage by 50-75%. What does your app do that takes 5 seconds? Is this because hundreds of DB calls are required, or you need to serialize thousands of objects? |
|