优化方案(1)启用Zend Opcache,启用Opcache非常简单, 在PHP.ini配置文件中加入:zend_extension=opcache.so opcache.enable=1 opcache.enable_cli=1(2)使用GCC4.8以上的编译器来编译安装包,只有GCC4.8以上编译出的PHP才会开启Global Register for opline and execute_data支持。(3)开启HugePage支持,首先在系统中开启HugePages, 然后开启Opcache的hugecodepages。关于HugePage操作系统默认的内存是以4KB分页的,而虚拟地址和内存地址需要转换, 而这个转换要查表,CPU为了加速这个查表过程会内建TLB(Translation Lookaside Buffer)。 显然,如果虚拟页越小,表里的条目数也就越多,而TLB大小是有限的,条目数越多TLB的Cache Miss也就会越高, 所以如果我们能启用大内存页就能间接降低这个TLB Cache Miss。开启方法以CentOS 6.5为例, 通过命令:sudo sysctl vm.nr_hugepages=128分配128个预留的大页内存。$ cat /proc/meminfo | grep Huge AnonHugePages: 444416 kB HugePages_Total: 128 HugePages_Free: 128 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB然后在PHP.ini中加入opcache.huge_code_pages=1