원문: https://www.toptal.com/back-end/server-side-io-performance-node-php-java-go


테스트 환경


PHP v5.4.16; Apache v2.4.6

Java (OpenJDK) 1.8.0_131-b11; Tomcat v7.0.69 (without APR/native)

Node.js v6.10.3

Go v1.8.1


HTTP 서버 성능 벤치마크를 해보기 위해

64000개의 파일에 sha-256 해쉬를 N번 실행한 다음 그 결과를 hex로 보여주는 코드를 작성 했음

이런식으로 실험한 이유는 이게 IO 성능과 cpu 사용도를 비교해볼수 있어서 그랬다고함


먼저 동시성이 낮은 경우

300개의 동시요청을 2000번 반복함 (N=1)일 경우 

(낮을수록 좋음)




위와 같은 환경에서

N=1000일 경우 (훨씬 많은 cpu 부하)

(낮을수록 좋음)





이번엔 N=1이지만

동시요청을 5000번을 함 


(초당 처리할 수 있는 요청의 개수, 높을수록 좋음)



대규모 i/o처리, 동시 연결 등 모든면에서 Go가 압승함