> 백엔드 개발 > PHP7 > 본문

PHP7에서 Opcache를 열고 PHP7 성능을 최적화하기 위한 여러 설정 소개

coldplay.xixi
풀어 주다: 2023-02-17 20:46:01
앞으로
3203명이 탐색했습니다.

PHP7에서 Opcache를 열고 PHP7 성능을 최적화하기 위한 여러 설정 소개

PHP7이 출시되었습니다. PHP7은 10년 만에 최대 규모의 버전 업그레이드이자 최대 성능 업그레이드로 여러 테스트에서 확실한 성능 향상을 보여주었습니다. 하지만 성능을 극대화하기 위해서는 아직 몇 가지가 남아 있습니다.


권장(무료): PHP7

PHP7 VS PHP5.6

1, Opcache

Zend Opc를 활성화하는 것을 잊지 마세요. 아프다. PHP7이 더 빠르기 때문이다. Opcache가 활성화된 PHP-5.6보다 Opcache가 활성화되어 있지 않아도 이전 테스트 기간 동안 누군가가 Opcache를 활성화하지 않은 경우가 발생했습니다. Opcache를 활성화하는 것은 매우 간단합니다. php.ini 구성 파일에

 zend_extension=opcache.soopcache.enable=1opcache.enable_cli=1"
로그인 후 복사

를 추가하기만 하면 됩니다 2. 새로운 컴파일러

최신 컴파일러인 GCC 4.8 이상을 사용하는 것이 좋습니다. 왜냐하면 GCC 4.8 이상 PHP만이 opline 및 Execute_data 지원을 위한 전역 레지스터를 활성화하여 약 5%의 성능 향상을 가져올 수 있기 때문입니다(QPS 관점에서 측정) of Wordpres)

사실 GCC 4.8 이전 버전에서도 지원하지만 지원에 버그가 있는 것으로 확인되어 4.8 이상 버전에서는 이 기능을 활성화해야 합니다.

3. 또한 소개되었습니다: PHP7을 더 빠르게 만들기 위한 Hugepage, 먼저 시스템에서 HugePages를 활성화한 다음 Opcache의 huge_code_pages를 활성화합니다.

제 CentOS 6.5를 예로 들어 다음을 통해 예약된 512를 할당합니다:

 $sudo sysctl vm.nr_hugepages=512
로그인 후 복사

대용량 페이지 메모리:

 $ cat /proc/meminfo  | grep HugeAnonHugePages:    106496 kBHugePages_Total:     512HugePages_Free:      504HugePages_Rsvd:       27HugePages_Surp:        0Hugepagesize:       2048 kB
로그인 후 복사

그런 다음 추가합니다. :

  opcache.huge_code_pages=1
로그인 후 복사

에서 php.ini로 변환 이런 방식으로 PHP는 자체 텍스트 세그먼트와 대용량 메모리 할당을 저장하기 위해 대용량 메모리 페이지를 사용하여 TLB 누락을 줄이고 성능을 향상시킵니다.

4 Opcache를 활성화합니다. 파일 캐시(실험적). 이를 활성화하면 Opcache가 opcode 캐시를 외부 파일에 캐시하도록 할 수 있습니다. 일부 스크립트의 경우 성능이 크게 향상됩니다.

PHP가 캐시할 수 있도록 php.ini에

 opcache.file_cache=/tmp
로그인 후 복사

를 추가하세요. PHP 수명 주기 전반에 걸쳐 존재할 수 있는 /tmp 디렉터리의 일부 Opcode 바이너리 내보내기 파일

5、PGO

我之前的文章: 让你的PHP7更快(GCC PGO) 也介绍过, 如果你的PHP是专门为一个项目服务, 比如只是为你的Wordpress, 或者drupal, 或者其他什么, 那么你就可以尝试通过PGO, 来提升PHP, 专门为你的这个项目提高性能.

具体的, 以wordpress 4.1为优化场景.. 首先在编译PHP的时候首先:

 $ make prof-gen
로그인 후 복사

然后用你的项目训练PHP, 比如对于Wordpress:

 $ sapi/cgi/php-cgi -T 100 /home/huixinchen/local/www/htdocs/wordpress/index.php >/dev/null
로그인 후 복사

也就是让php-cgi跑100遍wordpress的首页, 从而生成一些在这个过程中的profile信息.

最后:

 $ make prof-clean$ make prof-use && make install
로그인 후 복사

这个时候你编译得到的PHP7就是为你的项目量身打造的最高性能的编译版本.

暂时就这么多吧, 以后想起来再加, 欢迎大家尝试, thanks

更多免费推荐:PHP7教程

위 내용은 PHP7에서 Opcache를 열고 PHP7 성능을 최적화하기 위한 여러 설정 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿