OPcache 확장을 사용하여 PHP7 성능을 향상시키는 팁
추천(무료): PHP7
어디에 계시든 이메일을 보시면 바로 답변드리겠습니다.내 이메일: echo "YUBzYW1lZ28uY29tCg==" | base64 -d
Preface
11시 반, 이제 자리를 잡을 시간입니다.
PHP가 실행되면 이러한 프로세스가 있습니다. PHP 코드가 먼저 사전 컴파일되고 바이트코드가 생성된 다음 마지막으로 CPU가 메모리에서 컴파일된 바이트코드 조각을 실행합니다. 우리는 PHP 프로그램을 실행할 때마다 이러한 과정을 거치게 된다는 것을 알게 될 것입니다. 이것은 시간 낭비가 아닙니다. 예, 생각하기 쉽습니다: C++ 언어를 따르고 소스 코드를 파일로 컴파일하는 것은 어떨까요? 메모리에 직접 로드할 수 있으므로 형제는 어디에 있습니까? 어-허?. 소총을 꺼내서 이
OPcache
를 로드하세요. PHP5.5.0이 나온 이후로 이 zend 확장 기능이 내장되었습니다.OPcache
。自从PHP5.5.0出来后,就内置此zend扩展了。
What is OPcacheOPcache
是PHP中的Zend扩展,可以大大提升PHP的性能。
OPcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能, 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销。
Judge whether it has been extended OPcache
➜ ~ php -m | grep OPcache Zend OPcache Zend OPcache
倘若没有开启的话,可以在php.ini配置中开启
/home/samego/service/php7.2/php.ini➜ ~ echo zend_extension="opcache.so" >> /home/samego/service/php7.2/php.ini로그인 후 복사
About OPcache configure
接下来,我们需要在 PHP 的配置文件中启用 OPcache(默认是关闭的):
opcache.enable=1
下面我们继续对 OPcache 进行一些优化配置:
opcache.memory_consumption=512
这个配置表示你想要分配给 OPcache 的内存空间(单位:MB),设置一个大于 64 的值即可。
opcache.interned_strings_buffer=64
这个配置表示你想要分配给实际字符串的空间(单位:MB),设置一个大于 16 的值即可。
opcache.max_accelerated_files=32531
这个配置表示可以缓存多少个脚本,将这个值尽可能设置为与项目包含的脚本数接近(或更大)。
opcache.validate_timestamps=0
改配置值用于重新验证脚本,如果设置为 0(性能最佳),需要手动在每次 PHP 代码更改后手动清除 OPcache。如果你不想要手动清除,可以将其设置为 1 并通过 opcache.revalidate_freq 配置重新验证间隔,这可能会消耗一些性能,因为需要每隔 x 秒检查更改。
opcache.save_comments=1
这个配置会在脚本中保留注释,我推荐开启该选项,因为一些库依赖于这个配置,并且我也找不出什么关闭它的好处。
opcache.fast_shutdown=0
快速关闭会给一个更快速清理内存的机制,不过,在我的基准测试中,更慢一些,可能这会应用带来一些性能提升,但是你需要自己去尝试。
所以,最终的配置优化长这样:
opcache.enable=1 opcache.memory_consumption=512 opcache.interned_strings_buffer=64 opcache.max_accelerated_files=32531 opcache.validate_timestamps=0 opcache.save_comments=1 opcache.fast_shutdown=0
你可以使用这些配置值进行实验,具体配置值取决于你的应用大小和服务器配置。
学习于Laravel社区
Laravel OPcache
-
install
➜ ~ composer require appstract/laravel-opcache
로그인 후 복사 -
configure
➜ ~ php artisan vendor:publish --provider="Appstract\Opcache\OpcacheServiceProvider" --tag="config"
로그인 후 복사 command
# Clear OPcache: ➜ ~ php artisan opcache:clear # Show OPcache config: ➜ ~ php artisan opcache:config # Show OPcache status: ➜ ~ php artisan opcache:status # Pre-compile your application code: ➜ ~ php artisan opcache:optimize
拭目以待的场景测试
个人比较喜欢数据说话
场景:(1)请求GET接口 (2)测试次数10 (3)并发数为100
case non-extension
1000个请求,花费32.32秒,每秒30.94个请求
Transactions: 1000 hits Availability: 100.00 % Elapsed time: 32.32 secs Data transferred: 0.97 MB Response time: 0.32 secs Transaction rate: 30.94 trans/sec Throughput: 0.03 MB/sec Concurrency: 9.96 Successful transactions: 1000 Failed transactions: 0 Longest transaction: 0.44 Shortest transaction: 0.11로그인 후 복사
case had extend
OPcache란 무엇입니까
OPcache
는 PHP 성능을 크게 향상시킬 수 있는 PHP의 Zend 확장입니다. OPcache는 PHP 스크립트의 미리 컴파일된 바이트코드를 공유 메모리에 저장하여 PHP 성능을 향상시킵니다. 미리 컴파일된 바이트코드를 저장하면 매번 PHP 스크립트를 로드하고 구문 분석하는 오버헤드가 절약된다는 것입니다.
OPcache 확장 여부를 판단하세요
Transactions: 1000 hits Availability: 100.00 % Elapsed time: 2.94 secs Data transferred: 0.97 MB Response time: 0.03 secs Transaction rate: 340.14 trans/sec Throughput: 0.33 MB/sec Concurrency: 9.86 Successful transactions: 1000 Failed transactions: 0 Longest transaction: 0.29 Shortest transaction: 0.01
애플리케이션 크기와 서버 구성에 따라 달라지는 이러한 구성 값을 실험해 볼 수 있습니다.
🎜Laravel 커뮤니티에서 알아보기🎜🎜🎜Laravel OPcache🎜🎜
- 🎜install🎜rrreee
- 🎜configure🎜rrreee
- 🎜 command 🎜
케이스 비확장
🎜🎜🎜 요청 1000개, 비용 32.32초, 초당 요청 30.94🎜rrreee🎜🎜케이스 확장
🎜🎜🎜1000입니다. 요청, 비용은 2.94초, 초당 요청 340.14건🎜🎜rrreee🎜🎜이 데이터 세트를 보니 매우 기쁘고 매우 기쁩니다. 성능면에서는 말할것도 없을 정도로 극명한 대비가 있어요~OPcache가 옳습니다🎜🎜 ’ 에서 ’ OP ’ ’ s ’ ‐ ‐ ‐ ‐ ‐ OPcache가 맞습니다🎜🎜 위 내용은 OPcache 확장을 사용하여 PHP7 성능을 향상시키는 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











centos php에서 opcache를 설치하는 방법: 1. "yum list php73* | grep opcache" 명령을 실행합니다. 2. "yum install php73-php-opcache.x86_64"를 통해 opcache를 설치합니다. 3. "find / -name opcache를 사용합니다. so" 그냥 "opcache.so"의 위치를 찾아서 php의 확장 디렉토리로 옮기세요.

이 기사에서는 PHP opcache에 대한 관련 지식을 제공합니다. 주로 OPCache 기능을 이해하는 방법과 사용 방법에 대해 설명합니다. 관심 있는 친구는 아래를 살펴보는 것이 모든 사람에게 도움이 되기를 바랍니다.

PHP 7.0에서 설치된 플러그인이 표시되지 않는 문제를 해결하려면: 플러그인 구성을 확인하고 플러그인을 활성화하세요. 구성 변경 사항을 적용하려면 PHP를 다시 시작하세요. 플러그인 파일 권한이 올바른지 확인하세요. 플러그인이 올바르게 작동하도록 하려면 누락된 종속성을 설치하세요. 다른 모든 단계가 실패하면 PHP를 다시 빌드하세요. 다른 가능한 원인으로는 호환되지 않는 플러그인 버전, 잘못된 버전 로드 또는 PHP 구성 문제 등이 있습니다.

php5에서는 fsockopen() 함수를 사용하여 TCP 포트를 감지할 수 있습니다. 이 기능은 네트워크 연결을 열고 일부 네트워크 통신을 수행하는 데 사용할 수 있습니다. 그러나 php7에서는 fsockopen() 함수에 포트를 열 수 없거나 서버에 연결할 수 없는 등의 몇 가지 문제가 발생할 수 있습니다. 이 문제를 해결하기 위해, 우리는 소켓_create() 함수와 소켓_연결() 함수를 사용하여 TCP 포트를 감지할 수 있습니다.

php7.0에서 mongo 확장을 설치하는 방법: 1. mongodb 사용자 그룹 및 사용자를 생성합니다. 2. mongodb 소스 코드 패키지를 다운로드하고 소스 코드 패키지를 "/usr/local/src/" 디렉터리에 넣습니다. "src/" 디렉터리를 입력합니다. 4. 소스 코드 패키지의 압축을 풉니다. 5. mongodb 파일 디렉터리를 생성합니다. 6. "mongodb/" 디렉터리에 파일을 복사합니다. 7. mongodb 구성 파일을 생성하고 구성을 수정합니다.

OPcache 구성을 최적화하면 PHP 애플리케이션 성능이 향상될 수 있습니다. 최적화에는 다음이 포함됩니다: 합리적인 opcache.memory_consumption 크기 설정, opcache.max_accelerated_files 값 증가, opcache.revalidate_freq 활성화, opcache.optimization_level 비활성화

php7.0 설치 및 배포 방법: 1. PHP 공식 웹사이트로 이동하여 로컬 시스템에 해당하는 설치 버전을 다운로드합니다. 2. 다운로드한 zip 파일을 지정된 디렉터리에 추출합니다. 3. 명령줄 창을 열고 다음으로 이동합니다. "E:\php7" 디렉토리 "php -v" 명령을 실행하세요.

PHP 서버 환경에 대한 일반적인 솔루션에는 올바른 PHP 버전이 설치되어 있는지, 관련 파일이 모듈 디렉터리에 복사되었는지 확인하는 것이 포함됩니다. SELinux를 일시적으로 또는 영구적으로 비활성화합니다. 필요한 확장이 추가되고 올바르게 설정되었는지 확인하려면 PHP.ini를 확인하고 구성하십시오. PHP-FPM 서비스를 시작하거나 다시 시작합니다. 해결 문제에 대해서는 DNS 설정을 확인하세요.
