저는 Tornado 애플리케이션에 대한 역방향 프록시로 Apache를 사용하고 있으며 현재 시스템에서 웹 소켓 테스트를 로드하고 있습니다.
아직 예비 단계이므로 설정은 다음과 같습니다.
- 서버에 대한 websocket 연결을 설정하는 Node.js 스크립트를 작성했습니다. 연결이 설정되면 재귀적으로 다른 연결이 설정됩니다.
- 나는 이 스크립트를 내 로컬 노트북에서 최대 3000개의 연결로 실행하는 동시에 다른 서버(웹소켓 서버와 다른 데이터 센터)에서도 최대 3000개의 연결을 실행합니다. 그래서 둘 다 증가할 때쯤에는 6000개의 연결로 서버에 도달합니다.
속도를 높이다가 갑자기 각 스크립트를 종료(6000개 연결 모두 취소)한 다음 Apache를 다시 시작하면 서버의 시스템 로드가 미친 듯이 급증합니다. 나는 300-500(서버의 코어가 16개) 정도라고 말하고 있습니다.
그러나 미친 부분은 아무것도 영향을 받지 않는 것 같다는 것입니다. vmstat
및 의 결과 iostat
는 디스크와 CPU가 대부분 유휴 상태임을 보여줍니다. 내 앱은 여전히 훌륭하게 실행됩니다. 내 로컬 컴퓨터의 while 루프에서 실행되는 Tornado 애플리케이션에 대한 쿼리도 있습니다.
재시작으로 인해 약간의 딸꾹질이 발생하는 것 외에는 영향을 받지 않는 것 같습니다. 다음에 문제를 해결할 수 있는 아이디어가 있나요?