이 기사의 예에서는 PHP 비동기 다중 스레드 스울의 사용법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.
swoole은 PHP 언어의 고성능 네트워크 통신 프레임워크를 재정의하고 PHP 언어의 비동기 멀티스레드 서비스를 제공합니다. 다음 예를 통해 이를 확인할 수 있습니다.
일반적으로 Swoole은 PHP 언어의 비동기 멀티스레드 서버, 비동기 TCP/UDP 네트워크 클라이언트, 비동기 MySQL, 데이터베이스 연결 풀, AsyncTask, 메시지 큐, 밀리초 타이머, 비동기 파일 읽기 및 쓰기, 비동기 DNS를 제공합니다. query.
swoole 예전에 들어본 적 있는 게임 서버로 사용하면 아티팩트인데... 오늘 조금 해보고 우분투에서 환경 구축해서 테스트해봤습니다
구체 테스트 코드는 다음과 같습니다.
<?php class page extends Controller { function index() { $data = createModel('UserInfo')->get(12)->get(); $this->swoole->tpl->assign('data',$data); $html = $this->swoole->tpl->fetch('test.html'); $time = $this->showTime(); return $html.$time; } } shell ab -c 100 -n 1000 -k http://127.0.0.1/index/ Requests per second Time per request (mean) Time per request (mean, across all concurrent requests)
실행 모드:
Swoole EventTCP Swoole SelectTCP Swoole BlockTCP Apache/Prefork
Single process
571.70 [#/sec] 174.916 [ms] 1.749 [ms ] 659.01 [#/초]
151.743 [ms]
1.517 [ms]
561.24 [#/초]
178.178 [ms]
1.782
80.57
1241.083 [ms]
12.411 [ms]
4개 프로세스
1153.63 [#/초]
86.683 [ms]
0.867 [ms]
1010.08 [# /초]
99.002 [ms]
0.990 [ms]
1094.58 [#/초]
91.359 [ms]
0.914 [ms]
아파치 정말 좋아요 효율성, 의견을 남겨주세요. 앞으로 도움이 될 것입니다.
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.
PHP 비동기 다중 스레드 스울 사용 예와 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!