Introduction

Diffgram is designed to be highly performant. The general expectation is that most pages feel relatively fluid to an end user. Configuration choices, especially around security, can reduce end user performance.

📘

Audience

This document is for engineers optimizing installations of Diffgram.

📘

Config Problems are Solvable

Sometimes config problems appear really bad (e.g. a page taking forever to load), but often there are simple config changes or bug fixes that can quickly bring it back to normal expectations.

Slow End User Loading Diagnostics

If an end user is experiencing a slow down the best thing to do is capture the frontend performance logs for the specific end user context.

Instructions

Depending on your installation configuration the Diffgram team may not have access to this, so you will need to provide it.

  1. Navigate to the specific page and context.

If possible, have the end user do this.
If you are doing it on behalf of a user, then be sure to get as near as possible to actual usage pattern. For example, the task and studio contexts load data differently. Things load differently on first load vs hitting next etc. It's crucial to get the user's expected context to ensure we are solving right problem.

Dev Console

  1. Open dev tools (e.g. chrome dev tools Windows: Control + Shift + I or mac: Command + Option + J ) and hit record. The main thing we need is the the Fetch/XHR requests. Example screenshot below.
  • Any particular slow? (e.g. >500 ms)
  • Any ones loading multiple times?

At a minimum the name of the request that is having the problem will be a great starting point.
If no requests appear off please include the screenshot, and URL of the page in the ticket.

  1. Actions
  • Review your config and documentation
  • Send this to your Diffgram support engineer
  • Or file a git ticket.

We need this information to provide config guidance or to fix a bug.
We may ask for further log information, but this front end information is usually the best place to start.

This guide assumes that there is no global logging or frontend logging instrumented.

Checklist

A small checklist of common potential problems at system config level.

  1. The database can communicate well with the compute cluster. For example it is in the same region.
  2. List configurations that can add latency, like a custom URL signer.
  3. Check storage Storage Tier Best Practices