728x90
개인 프로젝트, 팀프로젝트등을 진행하며 성능 테스트를 진행한 적이 있다. 처리량/지연시간에 대해서 두루뭉술하게 알고 있었어서 대충 빠르면 좋겠지~ 라는 단순한 생각만 했었던 것 같다.
그래서 이번 시간에는 모호한 기억과 개념을 한번 가볍게 정리해보고 가려고 한다.
그리고 앞으로 백엔드 개발자로서 성능/부하 테스트를 할 때 적절한 용어와 개념을 사용하여 진행할 수 있도록 해야겠다.
정의
- 노드(node)와 링크(link)가 서로 연결되어 있거나 연결되어 있지 않은 집합체를 의미
- 여기서 노드란 서버,라우터,스위치 등 네트워크 장치를 의미하고, 링크는 유무선 형태의 연결 수단을 의미
처리량과 지연 시간
네트워크를 구축할 때는 당연하게도 '좋은' 네트워크로 만드는 것이 중요하다
좋은 네트워크란
- 많은 처리량을 처리할 수 있다
- 지연 시간이 짧다
- 장애 빈도가 적다
- 좋은 보안을 갖춘 네트워크
처리량(throughput)
- 처리량이란 링크를 통해 전달되는 단위 시간당 데이터양
- 단위로는 bps(bits per second)를 사용 : 초당 전송 또는 수신되는 비트 수라는 의미
- 트래픽,네트워크 장치 간의 •대역폭,네트워크 중간에 발생하는 에러,하드웨어 스펙등에 영향을 받는다
- 대역폭 : 주어신 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수
지연 시간(latency)
- 요청이 처리되는 시간. 즉 어떤 메세지가 두 장치 사이를 왕복하는 데 걸린 시간
- 매체 타입(유무선), 패킷 크기, 라우터의 패킷 처리 시간에 영향을 받음