튜토리얼 칼럼에서는 Laravel이 15밀리초 이내에 "Hello World!"를 반환하도록 하는 방법을 소개합니다. 이것이 필요한 친구들에게 도움이 되기를 바랍니다. 우선 시작부터 실행이 끝날 때까지 프레임워크가 미치는 영향은 가장 기본적인 으로 돌아가는 것이라고 생각합니다.
추천: Hello world!
字符串,是所有以Laravel
为框架的项目中,最基本的一个请求过程。除此以外,项目中的任何http
请求,都会带有更多的业务逻辑和数据库查询等耗时操作,且这些逻辑的执行时间都是不可控和不可对比的。也就是说,其他任何请求都不会比返回一个Hello world!
字符串更短的时间了。所以,通过对比这个最基本的Hello world
请求响应时间,我们可以看出,不同的优化对于Laravel
최신 5개 Laravel 비디오 튜토리얼
테스트 매개변수
PHP 버전 | |
프로세스 관리 | |
기본 구성 응답 시간
Round 1:Laravel 缓存
root@Aliyun-ECS / # php artisan optimize root@Aliyun-ECS / # php artisan config:cache root@Aliyun-ECS / # php artisan event:cache root@Aliyun-ECS / # php artisan route:cache root@Aliyun-ECS / # php artisan view:cache 로그인 후 복사 我们再看下响应时间: 可见 Round 2:开启 opcache这次,我决定使用提速效果最明显的手段:开启 root@Aliyun-ECS / # yum install php80-php-opcache 로그인 후 복사 等待安装结束后,我们重启 root@Aliyun-ECS / # systemctl restart php80-php-fpm root@Aliyun-ECS / # php -i|grep opcache.enable opcache.enable => On => On opcache.enable_cli => On => On opcache.enable_Laravel이 15밀리초 안에 hello world!를 반환하도록 만드는 방법_override => Off => Off 로그인 후 복사 ok,已经开启 OHHHHHH!效果太明显了,一下子降到 Round 3:开启 swoole
root@Aliyun-ECS / # yum install php80-php-pecl-swoole 로그인 후 복사 老样子,安装完后检查下是否安装成功: root@Aliyun-ECS / # systemctl restart php80-php-fpm root@Aliyun-ECS / # php -i|grep swoole.enable swoole.enable_coroutine => On => On swoole.enable_library => On => On swoole.enable_preemptive_scheduler => Off => Off 로그인 후 복사 扩展已经启用了,但是还无法进行测试。因为 // 引入软件包 root@Aliyun-ECS / # composer require swooletw/laravel-swoole // 发布配置文件 root@Aliyun-ECS / # php artisan vendor:publish --tag=laravel-swoole 로그인 후 복사 执行以上两步操作后,即可在项目的 // .env SWOOLE_HTTP_HOST=0.0.0.0 SWOOLE_HTTP_PORT=2020 로그인 후 복사 基本配置修改完成,我们启动 root@Aliyun-ECS / # php artisan swoole:http start Starting swoole http server...Swoole http server started: <http:></http:> 로그인 후 복사 此时我们访问 好家伙!直接干到 Laravel 는 캐시 기능을 활성화하는 매우 편리한 artisan 명령을 제공하여 파일 읽기 횟수를 효과적으로 줄여줍니다. php artisan Optimize 명령에는 php artisan config:cache 및 php artisan Route:cache 명령이 포함되어 있지만 가 하나 더 있습니다. 파일 캐시. 다음 5개 명령을 순서대로 실행하세요. 🎜rrreee🎜응답 시간을 살펴보겠습니다. 🎜🎜🎜🎜 Laravel 의 캐시는 가장 기본적인 요청에 뚜렷한 영향을 미치지 않는다는 것을 알 수 있습니다. 🎜🎜🎜🎜2라운드: opcache 켜기🎜🎜이번에는 속도를 높이기 위해 가장 확실한 방법을 사용하기로 결정했습니다: opcache 확장 기능을 켜기. remi 소스를 사용하여 php8 를 설치했으므로 여기에 opcache 확장 프로그램을 설치하는 것이 더 쉬울 것입니다. 다른 버전을 설치하려면, 직접 구글링해 보세요. 🎜rrreee🎜설치가 완료될 때까지 기다린 후 php 를 다시 시작한 다음 확장 프로그램이 설치되었는지 확인합니다. 🎜rrreee🎜ok, opcache 확장 프로그램이 활성화되었습니다. , 다시 확인하겠습니다. Hello world! 다운로드 응답 시간: 🎜🎜🎜🎜OHHHHHH! 효과가 너무 뚜렷해서 갑자기 30ms 미만으로 떨어졌고, 응답 시간이 거의 5배 향상되었습니다. opcache 가 캐시에 쓰기 때문에 첫 번째 요청은 더 느려집니다. 한 번 액세스하면 속도가 급격하게 높아집니다. 여기에 만족하시나요? 기사 제목을 보시면, 우리는 더욱 노력해야 합니다! 🎜🎜🎜🎜3단계: swoole 켜기🎜🎜swoole 우리 모두 알고 있듯이 모듈은 애플리케이션을 메모리에 미리 로드하므로 요청을 처리할 때 파일 읽기 및 로드 프로세스가 줄어듭니다. >PHP에는 날개가 있습니다. 다른 버전을 보려면 아래에서 swoole 확장 프로그램을 설치하세요. 🎜rrreee🎜 평소와 마찬가지로 설치 후 설치가 성공했는지 확인하세요. 🎜rrreee🎜 확장 프로그램이 활성화되었지만 아직 테스트할 수 없습니다. swoole 은 cli 모드의 확장이므로 php-fpm 을 사용할 수 없습니다. 따라서 cli 모드에서 http 애플리케이션을 구현해야 합니다. 하지만 실제로는 http 애플리케이션을 직접 직접 작성할 필요가 없습니다. 커뮤니티에는 이미 이를 작성한 유명 인사들이 있습니다. "선조가 나무를 심고, 미래 세대가 그 그늘을 즐긴다"라는 말처럼 laravel-swoole 소프트웨어 패키지를 소개하고 http 서비스를 시작합니다. 🎜rrreee🎜위의 두 단계를 수행한 후 프로젝트의 config 디렉터리에서 두 개의 구성 파일 swoole_http 및 swoole_websocket 을 찾을 수 있습니다. 기본 구성을 수정하지 않고 기본 Hello world! 테스트를 진행합니다. 프로젝트의 .env 파일에 SWOOLE_HTTP_HOST=0.0.0.0 만 추가합니다. SWOOLE_HTTP_PORT=2020 , 이는 2020 포트에서 http 수신 프로그램을 시작한다는 의미입니다. 0.0.0.0 은 모든 IP에 원격으로 액세스할 수 있음을 의미합니다. 🎜rrreee🎜기본 구성 수정이 완료되면 laravel-swoole 의 http 애플리케이션을 시작합니다. 🎜rrreee🎜이때 2020 에 액세스합니다. code> 포트, swoole 확장을 사용하여 애플리케이션을 테스트할 수 있습니다. 요청의 응답 시간을 살펴보세요: 🎜🎜를 반환하세요🎜🎜좋은 친구! 15ms 내에 바로 연결됩니다. 여기서 처음에는 opcache 가 켜져 있고 캐시가 기록되기 때문에 시간이 오래 걸립니다. 하지만 여기의 opcache 쓰기 캐시는 opache 확장만 켜는 2라운드 보다 훨씬 빠릅니다. 이것은 모두 swoole입니다. code>의 크레딧입니다. 🎜결론 다시 테스트해보니 通过实践对比,发现同时开启 其他问题
感谢🎜🎜기타 질문🎜
🎜답변에 감사드립니다@Hesunfly🎜. 명령줄에서 |
위 내용은 Laravel이 15밀리초 안에 'hello world!'를 반환하도록 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!