Skip to content

서버에 부담을 줄일 필요가 있어 보입니다. #77

@minho4yang

Description

@minho4yang
  1. 아래 GraphQL 쿼리들은 내용이 빈번하게 바뀌지 않습니다.
    json파일로 저장하여 nginx에서 static serve되게 하거나, CDN을 태우는게 어떨까요? (/static/locale/ko/constant.json 처럼요.)
  • operationName: "getSchedule"
  • operationName: "getSponsorLevels"
  1. getSponsorLevels이 필요한 부분은 메인 페이지나 티켓팅 페이지가 아니라, 후원사 안내 (/sponsor/prospectus) 페이지 입니다.
    우리가 보고 있지 않은 (필요하지 않은) 뷰를 먼저 로딩해서, GraphQL콜을 한번에 날려 서버의 부담을 가중시키는것 같은데, lazy-loading하게 할 수 있지 않을까요?
    (코드를 한번 더 찾아보고 추가댓글 달겠습니다.)

  2. (추측80%) nuxt.js에서 route를 처리하는데 permission을 관리하네요.
    그래서 GraphQL로 operationName: "getMe"를 부르는것 같은데,
    로그인시 이미 받은 JWT를 사용해서 처리할 수 있을 것 같습니다.
    JWT의 payload부분에 현재 "username": "prod_github_39264736"만 포함되어 있는데, 여기에 permission도 추가해서 관리하면, 프로필 페이지 접근 말고는 operationName: "getMe"를 호출할 필요가 없지 않을까? 추측합니다.
    (코드를 한번 더 찾아보고 추가댓글 달겠습니다.)

  3. (번외) analytics가 붙어있지 않아 보이는데, 실제 접속한 사용자 수와 서버가 처리한 사용자 수의 간극을 (얼마나 scaling해야할지를) 파악하지 못하셨을 것 같습니다. 붙여보는걸 추천합니다. (staging에서 하는 얼리버드 티켓팅 테스트도 재미있을것같구요.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions