watermarkchurch / theporch-apollos

0 stars 2 forks source link

Longest-running queries #152

Open gburgett opened 3 years ago

gburgett commented 3 years ago

Through CDN:

Type Name # Requests # Fails Median (ms) 90%ile (ms) Average (ms) Min (ms) Max (ms) Average size (bytes) Current RPS Current Failures/s
GET /?query=%7B%0A%20%20conference%20%7B%0A%20%20%20%20mediaSeries%20%7B%0A%20%20%20%20%20%20childContentItemsConnection%20%7B%0A%20%20%20%20%20%20%20%20pageInfo%20%7B%0A%20%20%20%20%20%20%20%20%20%20endCursor%0A%20%20%20%20%20%20%20%20%20%20typename%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20...contentCardFragment%0A%20%20%20%20%20%20%20%20%20%20%20%20typename%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20typename%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20typename%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20typename%0A%20%20%20%20%7D%0A%20%20%20%20typename%0A%20%20%7D%0A%7D%0A%0Afragment%20contentCardFragment%20on%20ContentItem%20%7B%0A%20%20id%0A%20%20typename%0A%20%20coverImage%20%7B%0A%20%20%20%20sources%20%7B%0A%20%20%20%20%20%20uri%0A%20%20%20%20%20%20typename%0A%20%20%20%20%7D%0A%20%20%20%20typename%0A%20%20%7D%0A%20%20theme%20%7B%0A%20%20%20%20type%0A%20%20%20%20colors%20%7B%0A%20%20%20%20%20%20primary%0A%20%20%20%20%20%20secondary%0A%20%20%20%20%20%20screen%0A%20%20%20%20%20%20paper%0A%20%20%20%20%20%20typename%0A%20%20%20%20%7D%0A%20%20%20%20typename%0A%20%20%7D%0A%20%20title%0A%20%20hyphenatedTitle%3A%20title(hyphenated%3A%20true)%0A%20%20summary%0A%20%20...%20on%20WCCMessage%20%7B%0A%20%20%20%20videos%20%7B%0A%20%20%20%20%20%20sources%20%7B%0A%20%20%20%20%20%20%20%20uri%0A%20%20%20%20%20%20%20%20typename%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20typename%0A%20%20%20%20%7D%0A%20%20%20%20parentChannel%20%7B%0A%20%20%20%20%20%20id%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20typename%0A%20%20%20%20%7D%0A%20%20%20%20series%20%7B%0A%20%20%20%20%20%20coverImage%20%7B%0A%20%20%20%20%20%20%20%20sources%20%7B%0A%20%20%20%20%20%20%20%20%20%20uri%0A%20%20%20%20%20%20%20%20%20%20typename%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20typename%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20typename%0A%20%20%20%20%7D%0A%20%20%20%20typename%0A%20%20%7D%0A%7D%0A&variables=%7B%7D 31 0 6 10 115 4 2292 3145 0.6 0
GET /?query=query%20getLikedContentItem(%24id%3A%20ID!)%20%7B%0A%20%20node(id%3A%20%24id)%20%7B%0A%20%20%20%20id%0A%20%20%20%20__typename%0A%20%20%7D%0A%7D%0A&operationName=getLikedContentItem&variables=%7B%22id%22%3A%22Breakouts%3A6d5b12b5f46cff39e0005f6c58e7a429057c97b9dc6c668740f2f98d688734d4%22%7D 29 29 210 870 327 63 1163 116 0.5 0.5
GET /?query=query%20getLikedContentItem(%24id%3A%20ID!)%20%7B%0A%20%20node(id%3A%20%24id)%20%7B%0A%20%20%20%20id%0A%20%20%20%20__typename%0A%20%20%7D%0A%7D%0A&operationName=getLikedContentItem&variables=%7B%22id%22%3A%22Breakouts%3A904ea33f8723b2727f5e0992fc18473f5ccc627bd2090c0740584181689232bb%22%7D 25 25 280 1100 445 63 1766 116 0.5 0.5
GET /?query=query%20getLikedContentItem(%24id%3A%20ID!)%20%7B%0A%20%20node(id%3A%20%24id)%20%7B%0A%20%20%20%20id%0A%20%20%20%20__typename%0A%20%20%7D%0A%7D%0A&operationName=getLikedContentItem&variables=%7B%22id%22%3A%22Breakouts%3Aede96015242958ec3858be02e0bfc64ae8b50e99176d0c0e108aa36a354a52be%22%7D 27 27 400 1200 588 59 1811 116 0.3 0.3

Direct to Heroku

Type Name # Requests # Fails Median (ms) 90%ile (ms) Average (ms) Min (ms) Max (ms) Average size (bytes) Current RPS Current Failures/s
GET /?query=%7B%0A%20%20conference%20%7B%0A%20%20%20%20mediaSeries%20%7B%0A%20%20%20%20%20%20childContentItemsConnection%20%7B%0A%20%20%20%20%20%20%20%20pageInfo%20%7B%0A%20%20%20%20%20%20%20%20%20%20endCursor%0A%20%20%20%20%20%20%20%20%20%20typename%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20...contentCardFragment%0A%20%20%20%20%20%20%20%20%20%20%20%20typename%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20typename%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20typename%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20typename%0A%20%20%20%20%7D%0A%20%20%20%20typename%0A%20%20%7D%0A%7D%0A%0Afragment%20contentCardFragment%20on%20ContentItem%20%7B%0A%20%20id%0A%20%20typename%0A%20%20coverImage%20%7B%0A%20%20%20%20sources%20%7B%0A%20%20%20%20%20%20uri%0A%20%20%20%20%20%20typename%0A%20%20%20%20%7D%0A%20%20%20%20typename%0A%20%20%7D%0A%20%20theme%20%7B%0A%20%20%20%20type%0A%20%20%20%20colors%20%7B%0A%20%20%20%20%20%20primary%0A%20%20%20%20%20%20secondary%0A%20%20%20%20%20%20screen%0A%20%20%20%20%20%20paper%0A%20%20%20%20%20%20typename%0A%20%20%20%20%7D%0A%20%20%20%20typename%0A%20%20%7D%0A%20%20title%0A%20%20hyphenatedTitle%3A%20title(hyphenated%3A%20true)%0A%20%20summary%0A%20%20...%20on%20WCCMessage%20%7B%0A%20%20%20%20videos%20%7B%0A%20%20%20%20%20%20sources%20%7B%0A%20%20%20%20%20%20%20%20uri%0A%20%20%20%20%20%20%20%20typename%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20typename%0A%20%20%20%20%7D%0A%20%20%20%20parentChannel%20%7B%0A%20%20%20%20%20%20id%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20typename%0A%20%20%20%20%7D%0A%20%20%20%20series%20%7B%0A%20%20%20%20%20%20coverImage%20%7B%0A%20%20%20%20%20%20%20%20sources%20%7B%0A%20%20%20%20%20%20%20%20%20%20uri%0A%20%20%20%20%20%20%20%20%20%20typename%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20typename%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20typename%0A%20%20%20%20%7D%0A%20%20%20%20typename%0A%20%20%7D%0A%7D%0A&variables=%7B%7D 25 0 810 17000 4096 209 18654 3145 0.5 0
GET /?query=query%20getLiveContent%20%7B%0A%20%20liveStreams%20%7B%0A%20%20%20%20...LiveStreamFragment%0A%20%20%20%20typename%0A%20%20%7D%0A%7D%0A%0Afragment%20LiveStreamFragment%20on%20LiveStream%20%7B%0A%20%20id%0A%20%20isLive%0A%20%20eventStartTime%0A%20%20media%20%7B%0A%20%20%20%20sources%20%7B%0A%20%20%20%20%20%20uri%0A%20%20%20%20%20%20typename%0A%20%20%20%20%7D%0A%20%20%20%20typename%0A%20%20%7D%0A%20%20webViewUrl%0A%20%20contentItem%20%7B%0A%20%20%20%20...%20on%20ContentItem%20%7B%0A%20%20%20%20%20%20id%0A%20%20%20%20%20%20typename%0A%20%20%20%20%7D%0A%20%20%20%20typename%0A%20%20%7D%0A%20%20typename%0A%7D%0A&operationName=getLiveContent&variables=%7B%7D 1677 627 540 8900 2734 89 11706 571 20.9 7.9
GET /?query=query%20getLikedContentItem(%24id%3A%20ID!)%20%7B%0A%20%20node(id%3A%20%24id)%20%7B%0A%20%20%20%20id%0A%20%20%20%20__typename%0A%20%20%7D%0A%7D%0A&operationName=getLikedContentItem&variables=%7B%22id%22%3A%22Event%3Afdb34f3b771d799143f42e91306bef00691fe325d46b098978f423071c93ed2a%22%7D 38 38 210 2100 921 45 2661 116 0.3 0.3
GET /?query=query%20getLikedContentItem(%24id%3A%20ID!)%20%7B%0A%20%20node(id%3A%20%24id)%20%7B%0A%20%20%20%20id%0A%20%20%20%20__typename%0A%20%20%7D%0A%7D%0A&operationName=getLikedContentItem&variables=%7B%22id%22%3A%22Event%3A62409f00ad2b0ec9ba1daa3b9b7ab36855ee95e4553410728b865552d4962491%22%7D 37 37 180 2400 892 69 2697 116 0.5 0.5
GET /?query=query%20getLikedContentItem(%24id%3A%20ID!)%20%7B%0A%20%20node(id%3A%20%24id)%20%7B%0A%20%20%20%20id%0A%20%20%20%20__typename%0A%20%20%7D%0A%7D%0A&operationName=getLikedContentItem&variables=%7B%22id%22%3A%22Event%3A2dbca4f4239a489cae11974b00f79d77654a4a1879dccf4cc11826cba0ec21dc%22%7D 27 27 150 2300 851 46 2469 116 0.3  
gburgett commented 3 years ago

Diagnosing Query 1

{
  conference {
    mediaSeries {
      childContentItemsConnection {
        pageInfo {
          endCursor
          __typename
        }
        edges {
          node {
            ...contentCardFragment
            __typename
          }
          __typename
        }
        __typename
      }
      __typename
    }
    __typename
  }
}

fragment contentCardFragment on ContentItem {
  id
  __typename
  coverImage {
    sources {
      uri
      __typename
    }
    __typename
  }
  theme {
    type
    colors {
      primary
      secondary
      screen
      paper
      __typename
    }
    __typename
  }
  title
  hyphenatedTitle: title(hyphenated: true)
  summary
  ... on WCCMessage {
    videos {
      sources {
        uri
        __typename
      }
      __typename
    }
    parentChannel {
      id
      name
      __typename
    }
    series {
      coverImage {
        sources {
          uri
          __typename
        }
        __typename
      }
      __typename
    }
    __typename
  }
}

results in 1 contentful query and then 3 consecutive media system queries:

https://cdn.contentful.com/spaces/3ewlji0hjgzj/entries?content_type=conference&fields.code=awaken&access_token=xxx&include=9
https://media.watermark.org/api/v1/series/1017?target=the_porch
https://media.watermark.org/api/v1/messages/?limit=20&filter%5Bseries_id%5D=1017&target=the_porch
https://media.watermark.org/api/v1/messages

The first two media queries I get - we're pulling series info and message info. Last one appears to be useless - coming from here: https://github.com/watermarkchurch/theporch-apollos/blob/master/apollos-church-api/src/data/wcc-media/resolver.js#L86
There's a TODO on that line. Queried by client here: https://github.com/watermarkchurch/theporch-apollos/blob/master/ThePorch/loadConfig.js#L157

@conrad-vanl can we just get rid of that line? That would speed up this request by 33%.

gburgett commented 3 years ago

All the remainder are blowing up on this error: https://app.bugsnag.com/watermark-community-church/apollos-server/errors/6112b73617a5f40007063994?filters[event.since][0]=30d&filters[error.status][0]=open

Because sys is null on this line: https://github.com/watermarkchurch/theporch-apollos/blob/master/apollos-church-api/src/data/contentful/Event.js#L45