2020年1月22日水曜日

Python의 Sanic 프레임 워크는 초당 몇 건의 DATA 처리가 가능합니까?

일본어판 :
https://neovisionconsulting.blogspot.com/2020/01/pythonsanic1data.html

재 인쇄 소스를 보려면 여기를 클릭하십시오


프리랜서로 일하는 니지 야스히로 (2013- 현재)

TechEmpower Framework 벤치 마크 페이지에서 찾을 수 있습니다. JSON 직렬화에서는 초당 283,645입니다.

그러나 그 숫자는 실질적인 의미가 거의 없습니다.

첫째, 일반적인 웹 서버는 사용자 인증, 데이터베이스 액세스 및 HTML 작성과 같은 프로세스를 수행하므로 처리 시간이 훨씬 길어집니다. 그것은 단순히 Sanic의 처리 시간이 무시할 만하다는 것을 의미합니다.

또한 웹 응용 프로그램이 초당 1000 개 이상의 프로세스를 필요로하는 경우는 많지 않습니다. 첫째, Niginx와 같은 웹 서버는 정적 파일을 처리하고 캐시 할 수 있습니다. 그렇게하면 회사의 직원 10,000 명으로 구성된 내부 시스템에 초당 1000 개의 프로세스가 필요할 것 같지 않습니다.

지금도 Dgango와 Flask는 일반적으로 많은 경우에 충분하기 때문에 주로 사용됩니다. 문제가있는 경우 일반적으로 Go 언어를 사용하는 것이 좋습니다.이 언어는 Python에서 Sanic을 사용하는 것보다 빠르고 병렬 처리 기능이 더 빠릅니다. 이것은 Sanic이 사용되지 않는다는 것을 의미하지는 않지만 초당 프로세스 수가 매우 많아지면 Python 자체는 종종 해당 프로세스에 적합하지 않습니다. .

이시즈카 마사히로

답변 주셔서 감사합니다.
> 일반적으로 Python에서 Sanic을 사용하는 것보다 더 빠르고 병렬 처리 기능이있는 Go 언어를 사용하는 것이 좋습니다.
함께 본다
파이썬 동시성 스레딩 모듈 -molpako.py
결론
파이썬의 GIL은 멀티 스레딩이 멀티 코어로부터 이익을 얻지 못하게합니다.
이 블로그가 옳고 함께 고려한다면, 파이썬은 멀티 코어 CPU를 활용하지 않는 프로그래밍 언어입니다. AI (인공 지능) 또는 기계 학습 라이브러리가 필요하지 않으면 Go lang이 Python보다 낫습니다. 앞으로 멀티 코어 CPU의 프레임 워크 또는 공식적인 지원이 해결되기를 바랍니다. 구글이 개발 한 AI, 머신 러닝 및 수치 분석 라이브러리도 Go lang 용 TensorFlow라고합니다. 이 API를 Go lang과 함께 사용할 수 있지만 모델을 빌드하고 학습 할 수있는 것은 여전히 ​​Python 뿐이므로 앞으로 개선 될 수 있기를 바랍니다.

야스히로 니지
원저자
GIL과 관련하여 C / C ++로 작성하거나 C / C ++로 작성된 라이브러리를 사용하여 많은 처리를 제거 할 수 있으므로 일반적으로 문제가되지 않습니다. 그러나 초당 작업 수가 매우 커지면 처리 충돌을 피할 수 없으며 Python은 비효율적입니다. 따라서 Go 만 사용하는 것이 좋습니다. 크지 않다면, 파이썬만으로 개발하는 것은 문제가되지 않습니다. 대규모의 경우 파이썬만으로도 견딜 수 있는지 계산하고 테스트해야 할 수도 있습니다.

기계 학습과 관련하여 교육은 많은 데이터를 사용하여 많은 계산을 수행합니다. 이와 관련하여 Python은 Go에 능숙하고 Go에 능숙하지 않으므로 Go는 기계 학습 모델을 빌드하고 배울 수 없습니다.

한편, 학습 된 결과를 사용하는 프로세스에서는 결과 만 사용되므로 계산이 적습니다. 여기에서 많은 처리를 처리 해야하는 경우 Go가 위에 언급 된 이유로 더 적합하기 때문에 Go 용 API가 있습니다.

TesorFlow와 Go는 모두 Google에서 개발했지만 Python과 Go의 특성을 고려하는 것이 좋습니다. 따라서 통합되지 않습니다.

0 コメント:

コメントを投稿