node test-dns-lookup.js
./requests.sh
timeout 에러가 재현됨. 그러므로 axios timeout 에러의 원인은 dns lookup 실패로 보여짐. (c.f 로그에 요청이 찍히지 않는 이유)
-
UV_THREADPOOL_SIZE 사이즈를 늘린다.
기본 쓰레드풀 사이즈는 4인데, 이걸 늘린다고 해서 api 서버에 코어수 여러개 달린 머신을 돌릴게 아니기 때문에
쓰레들풀 사이즈 늘렸다가 오히려 스위칭 때문에 부하가 더 늘어날 수 있음.
-
dns cache 사용
cacheable-lookup 라이브러리 사용.
-
http keep-alive agent 사용