파이썬 프로그램의 병목/정체 구간 찾기, 프로파일러 사용하기
파이썬 프로그래밍의 장점 중의 하나라면 다양한 라이브러리가 공개되어 있어 필요에 따라 적절하게 설치해서 손쉽게 활용할 수 있는 것이다. 그렇지만, 내가 직접 개발한 것이 아닌 블랙박스와 같은 것이므로 라이브러리에서 문제가 생기면 황당할 수밖에 없다. 필자가 경험한 사례는 다른 옵션을 사용할 때는 문제가 없던 프로그램이 gevent 라이브러리를 사용하는 웹서버를 가동하면 위의 그림처럼 CPU 사용도가 급격하게 올라가는 것이었다. 클라이언트 요청이 많아서 웹서버가 할 일이 많았다면 그럴 수도 있겠다 싶지만, 현재 상황은 아무런 요청도 없는 상태로 CPU 로드가 올라갈 이유가 없다. CPU 로드를 엄청 먹고 있는 프로세스의 PID를 메모한다. (volttron) ubuntu@ubuntu:~/volttron$ ..
프로그래밍
2023. 9. 5. 16:46