摘要:优化方案启用,启用非常简单在配置文件中加入使用以上的编译器来编译安装包,只有以上编译出的才会开启支持。开启支持,首先在系统中开启然后开启的。开启方法以为例通过命令分配个预留的大页内存。
优化方案
(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
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/31033.html
摘要:鸟哥点评相对于主要优化也是在。基于的脚本测试未开启取平均值取平均值开启取平均值取平均值在本次测试中,未开启的情况下,性能比略有提升,开启之后,比有很大的提升。测试结果和配置参数以及服务器配置有关,仅供对比与的性能。 直播好久没有曝光量了,自荐一波《PHP进阶之路》(PHPer们,好久没有投资自己了呢?)原文地址 https://mengkang.net/1019.html PHP7.2...
摘要:让达到最高性能的几个建议懒得排版了,伯乐在线链接原文出处惠新宸欢迎分享原创到伯乐头条已经发布了,作为十年来最大的版本升级,最大的性能升级,在多放的测试中都表现出很明显的性能提升,然而,为了让它能发挥出最大的性能,我还是有几件事想提醒下。 让 PHP7 达到最高性能的几个建议 懒得排版了,伯乐在线链接:http://blog.jobbole.com/95657/ 原文出处: 惠新宸(@L...
摘要:配置指令如下共享内存大小这个根据你们的需求可调的内存大小也可调最大缓存的文件数目检查一次文件更新打开快速关闭打开这个在的时候会收内存的速度会提高不保存文件函数的注释实际性能对比下面是实际测试中没有开启的数据开启之后的数据 配置指令如下: [opcache] zend_extension=opcache.so opcache.enable_cli=1 ;共享内存大小, 这个根据你们的需...
摘要:业务和架构不分家,架构是建立在对业务的理解之上的。主键最好保持顺序递增,随机主键会导致聚簇索引树频繁分裂,随机增多,数据离散,性能下降。没有索引的更新,可能会导致全表数据都被锁住。 本博客并非全部原创,其实是一个知识的归纳和汇总,里面我引用了很多网上、书上的内容。也给出了相关的链接。 本文涉及的知识点比较多,大家可以根据关键字去搜索相关的内容和购买相应的书籍进行系统的学习。不对的地方...
阅读 2122·2023-04-25 14:56
阅读 2439·2021-11-16 11:44
阅读 2695·2021-09-22 15:00
阅读 1901·2019-08-29 16:55
阅读 2177·2019-08-29 14:04
阅读 2305·2019-08-29 11:23
阅读 3677·2019-08-26 10:46
阅读 1907·2019-08-22 18:43