Executor 자원 결정하기
- JVM heap은 64gb미만이어야한다. 40gb가 적당한것으로 보인다. 이유는 garbage collection 때문인데 만약 executor가 너무 커지면 GC가 어플리케이션 성능에 영향을 준다.
- executor에 할당된 core수는 4개를 넘어서는 안된다. 4 코어는 1코어의 throughput에 비해 4배가량 성능을 내는것처럼 보인다. 5 코어에서는 4.3-4.5배 정도 성능을 내는것처럼 보인다.
- 여러 large executor가 일반적으로 여러 small executor보다 좋다. executor수가 증가할수록 네트워크를 통해서 더많은 데이터를 전달해야한다.