저는 집에서 윈도우 노트북을 사용하다 보니 보통 wsl2를 통해서 개발을 합니다. GCP를 사용해야 하는 상황이 생겨서 공부를 하기 위해서 우선 gcloud CLI를 공식 문서를 통해서 설치를 해보았습니다. 하지만 이상하게도 wsl2에서 gcloud 커맨드가 아주 느린 현상이 발생해서 해결 과정에 대해서 기록할 겸 포스팅을 합니다. (wsl2를 통해서 설치를 해보고, windows 용으로도 설치를 해봤는데, 차이는 없었습니다)
문제
wsl2에서 help 문서를 access하는 것도 엄청 느렸습니다
$ time gcloud compute -h | tail -1
real 0m20.641s
user 0m1.383s
sys 0m3.742s
https://stackoverflow.com/questions/29988168/google-compute-engine-tool-gcloud-is-exceptionally-slow
이 stack overflow 문서에서 가장 높은 점수를 받은 답변은 usage reporting을 끄는 방법입니다 (gcloud config set disable_usage_reporting True). 하지만 저는 별로 도움이 안 되더라고요.
하지만 윈도우 command prompt를 통해서 gcloud를 사용하면 문제없이 빠르게 작동을 하는 것을 발견했습니다.
(wsl2에서 whcih gcloud 결과와 command prompt에서 where gcloud는 동일한 경로를 리턴합니다. 왜 wsl에서 gcloud를 호출하면 느리고 command prompt에서 호출하면 빠른지 잘 모르겠습니다. 혹시 정확한 원인을 아시면 댓글 남겨주시면 감사하겠습니다.)
해결책
그래서 다음 stack overflow 문서에 있는 답변처럼 윈도우즈 command prompt를 통해서 gcloud를 부르도록 바꿔서 문제를 해결했습니다.
https://stackoverflow.com/questions/61953082/why-is-my-gcloud-command-suddenly-very-slow-inside-wsl2
# in ~/.bashrc
alias gcloud="cmd.exe /c gcloud" # cmd.exe를 통해서 gcloud 호출하도록 .bashrc에 설정
이제 help 문서를 access하는 게 1초도 안 걸리네요
$ time gcloud compute -h | tail -1
real 0m0.927s
user 0m0.004s
sys 0m0.000s