PlayNode 2017 행사

playnode

171109 Play.Node

GraphQL In Action: REST와 이별할 때 생각해야 하는 것들

  • 고통의 근원: 이게 RESTful한가? 계속 질문하게 됨. Path, method, url 설계 등등…
  • 특징

    • scheme를 정의하여 validation이 편함
    • 상속: union, interface keyworld
    • recursive query: fragment 사용

Tool

lambda.js와 함께 하는 간단한 API Server 만들기

Node.js API 서버 성능 개선기

  • 테스트 준비

    • 서버 하나의 한계 파악
    • 병목구간 확인
    • 코드 개선 후 비교
  • 테스트 툴

    • 로컬 성능 확인

    • 서비스

      • Newrelic

        • 테스트 시작 끝을 알려고 배포 플래그 api이용함
      • Nsolid
      • RisingStack
      • AWS

        • ECS Cluster
        • Vagrant로 Virtual Box가 아닌 AWS EC2를 띄움
        • Rsync
        • Ansible
  • 성능 개선

    • 클러스터 인스턴스 변경
    • 컨테이너 CPU, 메모리 조정
    • DB Pool 사이즈 조정
  • v8 major update(node v6 -> node v8)

    • turbofan + ignition
    • 엄청난 성능향상…
  • node inspect option (프로파일러)

    • chrome devtools 사용가능
  • v8 tick profiler

    • node -prof
    • summary
  • Heap Dump -> 메모리 누수 추적

    • 크롬 디버거 -> Memory -> Heap Dump
    • Heap Dump를 테스트 이전, 테스트 이부

협력적 멀티태스킹

  • Async await 잘 써라

    • Promise를 래핑함, 성능은 잘 나오지 않더라도 메모리 관리등…

클라우드 시대의 node.js가 좋은 이유


Philographer
Written by@Philographer
Fail Fast, Learn Faster

GitHublinkedInFacebook