현재 제가 설치한 홈스테드 가상머신 버전은 2.1.8입니다.
홈스테드에 사전 설치된 PHP 버전은 5.6.15입니다.
ab 명령(성능 테스트 도구 제공: Apache) 이 버전에서는 Laravel 애플리케이션(현재 Laravel을 사용하여 개발된 블로그 애플리케이션을 예로 들어)의 성능을 테스트하기 위해 스트레스 테스트를 위해 10,000개의 요청과 100개의 동시성을 시뮬레이션합니다.
ab -n 10000 -c 100 http://blog.app/
실행 결과는 다음과 같습니다.
This is ApacheBench, Version 2.3 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking blog.app (be patient) Completed 1000 requests Completed 2000 requests Completed 3000 requests Completed 4000 requests Completed 5000 requests Completed 6000 requests Completed 7000 requests Completed 8000 requests Completed 9000 requests Completed 10000 requests Finished 10000 requests Server Software: nginx/1.8.0 Server Hostname: blog.app Server Port: 80 Document Path: / Document Length: 324 bytes Concurrency Level: 100 Time taken for tests: 69.354 seconds Complete requests: 10000 Failed requests: 0 Total transferred: 19851388 bytes HTML transferred: 10230000 bytes Requests per second: 144.19 [#/sec] (mean) Time per request: 693.545 [ms] (mean) Time per request: 6.935 [ms] (mean, across all concurrent requests) Transfer rate: 279.52 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.2 0 3 Processing: 17 684 319.1 588 2720 Waiting: 17 684 319.1 588 2720 Total: 20 684 319.1 588 2720 Percentage of the requests served within a certain time (ms) 50% 588 66% 695 75% 842 80% 933 90% 1155 95% 1321 98% 1545 99% 1813 100% 2720 (longest request)
여기서 빨간색 굵은 텍스트에 주목하세요. 초당 처리되는 요청 수는 시스템 성능 측정의 핵심 지표입니다. 시스템 및 하드웨어 구성에 따라 데이터에 일부 불일치가 있을 수 있습니다.
이제 "Laravel Homestead는 PHP 7을 지원합니다" 섹션에 설명된 대로 Homestead의 PHP를 버전 7.0으로 업그레이드합니다.
vagrant ssh를 사용하여 새로 추가된 homestead-7 가상 머신에 로그인하고 PHP 버전 정보가 올바른지 확인하십시오.
이 때 브라우저에서 http://blog.app에 액세스하면 새로 설치된 홈스테드 때문에 오류가 발생했습니다. 데이터베이스 데이터가 비어 있으므로 마이그레이션을 실행하고 데이터를 채우려면 다음 명령을 실행해야 합니다.
php artisan migrate php artisan db:seed
다시 액세스해도 괜찮습니다. 계속해서 동일한 ab 명령을 사용하여 스트레스 테스트를 수행합니다.
ab -n 10000 -c 100 http://blog.app/
실행 결과는 다음과 같습니다.
This is ApacheBench, Version 2.3 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking blog.app (be patient) Completed 1000 requests Completed 2000 requests Completed 3000 requests Completed 4000 requests Completed 5000 requests Completed 6000 requests Completed 7000 requests Completed 8000 requests Completed 9000 requests Completed 10000 requests Finished 10000 requests Server Software: nginx/1.8.0 Server Hostname: blog.app Server Port: 80 Document Path: / Document Length: 324 bytes Concurrency Level: 100 Time taken for tests: 45.032 seconds Complete requests: 10000 Failed requests: 0 Total transferred: 20101202 bytes HTML transferred: 10230000 bytes Requests per second: 222.06 [#/sec] (mean) Time per request: 450.319 [ms] (mean) Time per request: 4.503 [ms] (mean, across all concurrent requests) Transfer rate: 435.91 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.2 0 4 Processing: 11 443 252.8 379 1978 Waiting: 11 443 252.8 379 1978 Total: 15 443 252.8 379 1978 Percentage of the requests served within a certain time (ms) 50% 379 66% 517 75% 590 80% 631 90% 795 95% 938 98% 1060 99% 1229 100% 1978 (longest request)
비교 후 PHP 7.0에서 동일한 Laravel 애플리케이션의 성능은 PHP 5.6에서보다 54% 더 높습니다. 물론, 데이터는 환경에 따라 다르며 아직 개선의 여지가 더 많습니다.
원본 주소: https://xueyuanjun.com/post/2398
위 내용은 PHP7.0과 PHP5.6에서 Laravel 블로그 애플리케이션 성능 비교 분석에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!