让你的PHP7更快之Hugepage用法分析

2023-05-27 12:39:10 作者:admin

本文整理自网络,侵删。

本文实例讲述了让你的PHP7更快之Hugepage用法。分享给大家供大家参考,具体如下:

PHP7刚刚发布了RC4, 包含一些bug修复和一个我们最新的性能提升成果(NEWS), 那就是”HugePageFy PHP TEXT segment”, 通过启用这个特性,PHP7会把自身的TEXT段(执行体)”挪“到Huagepage上,之前的测试,我们能稳定的在Wordpress上看到2%~3%的QPS提升。

关于Hugepage是啥,简单的说下就是默认的内存是以4KB分页的,而虚拟地址和内存地址是需要转换的, 而这个转换是要查表的,CPU为了加速这个查表过程都会内建TLB(Translation Lookaside Buffer), 显而易见如果虚拟页越小,表里的条目数也就越多,而TLB大小是有限的,条目数越多TLB的Cache Miss也就会越高, 所以如果我们能启用大内存页就能间接降低这个TLB Cache Miss,至于详细的介绍,Google一搜一大堆我就不赘述了,这里主要说明下如何启用这个新特性, 从而带来明显的性能提升。

新的Kernel启用Hugepage已经变得非常容易了,以我的开发虚拟机为例(Ubuntu Server 14.04,Kernel 3.13.0-45), 如果我们查看内存信息:

$ cat /proc/meminfo | grep HugeAnonHugePages:  444416 kBHugePages_Total:    0HugePages_Free:    0HugePages_Rsvd:    0HugePages_Surp:    0Hugepagesize:    2048 kB

可见一个Hugepage的size是2MB, 而当前并没有启用HugePages. 现在让我们先编译PHP RC4, 记得一定不要加: –disable-huge-code-pages (这个新特性是默认启用的, 你加了这个就关了)

阅读剩余部分

相关阅读 >>

ECSHOP实现的支付宝手机网页支付功能免费版示例

云网在线支付漏洞初探(图)

ECSHOP显示某商品销售累计效果的实现代码

javascript弹出窗口中增加确定取消按钮

mysql 数据库设计复习笔记及项目实战

在ECSHOP的商品列表调用评论数量的方法

把无限级分类生成数组

让你的php7更快之hugepage用法分析

c#权限管理和设计浅谈

smarty中post用法实例

更多相关阅读请进入《ECSHOP》频道 >>



在线咨询 拨打电话