PHP7이 출시되었습니다. 10년 만에 최대 규모의 PHP 버전 업그레이드이자 최대 성능 업그레이드인 PHP7은 여러 테스트에서 확실한 성능 향상을 보여주었습니다. 그러나 최대 성능을 발휘하기 위해서는 아직 몇 가지 개선 사항이 남아 있습니다.
1. Opcache
Opcache가 활성화되지 않은 경우에도 PHP7이 PHP-5.6보다 빠르므로 이전 테스트 기간에 발생했습니다. Opcache를 활성화한 적이 없습니다. 추가: zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1"
php.ini
구성 파일에는 GCC 4.8 이상이 권장됩니다. GCC 4.8 이상에서는 opline 및 Execution_data 지원을 위한 전역 등록이 활성화되어 약 5%의 성능 향상을 가져옵니다(Wordpres의 QPS 관점에서 측정)
실제로 GCC 4.8 이전 버전도 이를 지원하지만 우리는 다음과 같은 사실을 발견했습니다. 지원되는 버그가 있으므로 이 기능을 활성화하려면 버전 4.8 이상이어야 합니다.
3. HugePage
내 이전 기사에서도 소개했습니다: PHP7을 더 빠르게 만들기 위한 Hugepage, 먼저 시스템에서 HugePages를 활성화하고 그런 다음 Opcache의 huge_code_pages를 활성화합니다.
CentOS 6.5를 예로 들어 다음을 전달합니다.
$sudo sysctl vm.nr_hugepages=512
512개의 예약된 대용량 페이지 메모리를 할당합니다.
$ cat /proc/meminfo | grep Huge AnonHugePages: 106496 kB HugePages_Total: 512 HugePages_Free: 504 HugePages_Rsvd: 27 HugePages_Surp: 0 Hugepagesize: 2048 kB
그런 다음 php.ini에서 추가:
opcache.huge_code_pages=1
In 이런 방식으로 PHP는 큰 메모리 페이지를 사용하여 자체 텍스트 세그먼트와 큰 메모리 할당을 저장하여 TLB 누락을 줄이고 성능을 향상시킵니다.
4. Opcache file 캐시
Opcache 파일 캐시 활성화(실험적) 이를 통해 Opcache가 opcodecache를 외부 파일에 캐시하도록 할 수 있습니다. 일부 스크립트의 경우 성능이 크게 향상됩니다.
php.ini에 추가:
opcache.file_cache=/tmp
이러한 방식으로 PHP는 일부 Opcode 바이너리 내보내기를 캐시합니다. PHP라이프 사이클.
5.PGO
내 이전 기사: PHP7을 더 빠르게 만들기(GCC PGO)에서도 PHP가 특정 프로젝트용인 경우에 대해 소개했습니다. , 예를 들어 WordPress, Drupal 등의 경우 PGO를 사용하여 프로젝트의 성능을 향상시킬 수 있습니다.
특히 PHP를 컴파일할 때 WordPress 4.1을 먼저 사용하세요.
$ make prof-gen
그런 다음 프로젝트를 사용하여 WordPress용 PHP를 교육합니다.
$ sapi/cgi/php-cgi -T 100 /home/huixinchen/local/www/htdocs/wordpress/index.php >/dev/null
즉, php-cgi가 100을 실행하도록 합니다. WordPress 홈페이지를 통해 프로세스에서 일부 프로필 정보를 생성합니다.
마지막으로:
$ make prof-clean $ make prof-use && make install
이번에 컴파일하는 PHP7은 프로젝트에 맞춰진 최고 성능의 컴파일 버전입니다.
위 내용은 5가지 php7 성능 최적화 팁 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!