규도자 개발 블로그

php의 단점을 발견하였다 본문

PHP/PHP

php의 단점을 발견하였다

규도자 (gyudoza) 2018. 12. 18. 22:57

php의 단점을 발견하였다.

바로 쓰레드에 대한 부분이다. 큰 부하를 처리하는 php코드를 일정시간마다 실행해야해서 해당 php코드를 실행하고 있을 때 다른 사용자들에 대해서 서비스품질저하를 방지하기 위해 php로 구현하는 쓰레드와 관련하여 많은 것들을 찾아봤는데... php공식문서에서 단호하게 안 된다고 정의했다.

심지어 현재 서비스 중인 플랫폼은 전부 7.0.x대의 php에서 돌아가고 있다. 뭐 애초에 사용할 수도 없지만 말이다... 그래서 관련 자료를 더 찾아보니 애초에 php라는 언어 자체가 싱글스레드로 실행되는 것을 전제로 만든 언어라고 한다. 관련 자료를 같이 첨부하려 했는데 다시 찾진 못하겠다. 해서 멀티스레딩이 필요할 때 사용할 수 있기 pthread라는 것이 만들어져있긴 한데 역시나 아직은 안정적이지 않고 부하가 많다는 게 단점이랜다.

 pthread말고도 curl_multi나 애초에 서버단에서 처리하는 방법 등 많은 방법들을 찾아봤지만 다른 언어에서 구현했던 만큼 간단한 작업들은 아니었기 때문에 포기했다. 애초에 내가 구현한 서비스 플로우 자체와 맞질 않다. 얼마든지 다른 환경에서도 사용할 수 있게 모듈화한 앱을 만들고 있기 때문인지 애초에 서버단에서 처리하는 방법 등은 모듈화라는 철학과 맞지도 않고 참... 아무튼 그랬다.


나는 언어에 대한 편견도, 우위도 없고 그냥 구축하려는 서비스 규모와 이용할 수 있는 인력, 그리고 서비스 특성 등 많은 것들을 고려하여 언어를 선택하는 게 맞다고 생각하는 쪽이다. 그래서 항상 "php는 구려, java가 짱이야. c가 무조건 짱이지"라는 식으로 말하는 사람들을 한심하다고 생각했는데 그래도 처음으로 php의 단점에 대해서 체득하게 됐다. 그렇다고 php는 구려!라고 말하는 게 아니라 어떤 서비스를 구축하려고 할 때 언어를 선택하는 데에 있어서 고려할 옵션 하나가 추가된 느낌이다. 좋은 경험이었다.

Comments