How Shared GraphQL Fragments Silently Killed Our List Performance
The article discusses performance issues related to GraphQL fragments in a product backlog list page. It highlights how unnecessary data preloading caused significant delays as the number of items increased. The author emphasizes the importance of understanding data needs when sharing fragments across different views.
- ▪The product backlog list page experienced a linear degradation in performance, with response times increasing by approximately 8ms per item.
- ▪A GraphQL query was requesting unnecessary data, triggering multiple cascading database lookups that impacted performance.
- ▪The issue arose from sharing a GraphQL fragment designed for a detailed view in a list view, leading to excessive preloading.
Opening excerpt (first ~120 words) tap to expand
try { if(localStorage) { let currentUser = localStorage.getItem('current_user'); if (currentUser) { currentUser = JSON.parse(currentUser); if (currentUser.id === 3822759) { document.getElementById('article-show-container').classList.add('current-user-is-article-author'); } } } } catch (e) { console.error(e); } Ryo Tsugawa Posted on May 24 How Shared GraphQL Fragments Silently Killed Our List Performance #graphql #go #performance #webdev Something felt slow Our product backlog list page was sluggish. Not dramatically broken — just… off. The kind of slowness you notice when you switch from a fresh demo tenant to a real one with actual data.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at DEV.to (Top).