>  기사  >  백엔드 개발  >  PHP 비동기 다중 스레드 스울 사용 example_php 기술

PHP 비동기 다중 스레드 스울 사용 example_php 기술

WBOY
WBOY원래의
2016-05-16 20:31:521207검색

이 기사의 예에서는 PHP 비동기 다중 스레드 스울의 사용법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

Swoole은 PHP 언어의 고성능 네트워크 통신 프레임워크를 재정의하고 PHP 언어의 비동기 멀티스레드 서비스를 제공합니다. 다음 예를 통해 이를 확인할 수 있습니다.

일반적으로 Swoole은 PHP 언어의 비동기 멀티스레드 서버, 비동기 TCP/UDP 네트워크 클라이언트, 비동기 MySQL, 데이터베이스 연결 풀, AsyncTask, 메시지 큐, 밀리초 타이머, 비동기 파일 읽기 및 쓰기, 비동기 DNS 쿼리를 제공합니다.

Swoole이라는 말을 들어본 적이 있는데, 게임 서버로 사용하기 좋은 툴이네요... 오늘 조금 사용해 보고 우분투에서 환경을 구축하고 테스트해봤습니다

구체적인 테스트 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
클래스 페이지는 컨트롤러를 확장합니다
{
함수 인덱스()
{
$data = createModel('UserInfo')->get(12)->get();
           $this->swoole->tpl->할당('data',$data);
$html = $this->swoole->tpl->fetch('test.html');
          $time = $this->showTime();
          $html.$time 반환;
}
}

ab -c 100 -n 1000 -k http://127.0.0.1/index/

초당 요청
요청당 시간(평균)
요청당 시간(모든 동시 요청에 대한 평균)

작동 모드:

Swoole 이벤트TCP Swoole SelectTCP Swoole BlockTCP Apache/Prefork
단일 프로세스
571.70 [#/초] 174.916 [ms] 1.749 [ms] 659.01 [#/초]
151.743 [밀리초]
1.517[밀리초]
561.24 [#/초]
178.178 [밀리초]
1.782
80.57
1241.083 [밀리초]
12.411 [밀리초]
4개의 프로세스
1153.63 [#/초]
86.683 [밀리초]
0.867[밀리초]
1010.08 [#/초]
99.002 [밀리초]
0.990[밀리초]
1094.58 [#/초]
91.359 [밀리초]
0.914[밀리초]

Apache는 실제로 효율성이 너무 좋습니다. 나중에 사용할 수 있도록 저장해 두세요.

이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.