资料介绍
软件简介
Php-affinity 通过设置cpu亲和性,可以将进程绑定到一个cpu核心上。一般在如下场景我们可能会希望修改进程的cpu亲和性:
-
频繁的并行运算
-
线程可伸缩性测试(通过增加cpu核心数量模拟线性扩展)
-
运行时间敏感的,决定性的进程
向nginx,swoole等开源软件,都提供了设置cpu亲和性的方法。nginx官方建议worker数量等同于cpu核心数量也是为了将一个进程绑定到一个cpu核心上,同时避免进程切换带来的开销。
Php本身并没有提供设置cpu亲和性的函数,我们可以通过两种方式实现:
-
调用系统命令,修改当前进程cpu亲和性
-
编写php扩展,封装系统调用。
php-affinity是使用c编写的php扩展,项目地址:https://github.com/huyanping/php-affinity
/** * set CPU affinity * * @param $cpu_id * @return bool */ functionsetaffinity($cpu_id){ $num= getcpucores(); if($cpu_id>= $num){ returnfalse; } $set= system_call($cpu_id); if($set=== -1){ returnfalse; } returntrue; } /** * get CPU affinity * * @return bool */ functiongetaffinity(){ $cpu_id= system_call(); if($cpu_id=== -1){ returnfalse; } return$cpu_id; } /** * get number of CPU * * @return bool */ functiongetcpucores(){ $nums= system_call(); if($nums=== -1){ returnfalse; } return$nums; }
提供了如下三个函数:
-
setaffinity – 设置cpu亲和性
-
getaffinity – 获取cpu亲和性
-
getcpucores – 获取cpu核心数量
API 如下:
参考文献:
- PHP_CodeSniffer PHP代码审查
- PHP-XLSWriter PHP Excel C扩展
- PHP Taint检测XSS漏洞的扩展
- PHP教程:foreach使用引用注意的问题
- PHP学习教程分享 7次下载
- 如何使用PHP-X快速开发一个PHP扩展 8次下载
- 学习PHP需要注意那几点 8次下载
- PHP教程之PHP与MySQL数据库连接的资料说明 8次下载
- smarty如何调用PHP常量 3次下载
- 如何使用PHP-X快速开发一个PHP扩展 9次下载
- PHP基础知识的详细资料总结 7次下载
- PHP多个版本的比较资料说明 0次下载
- php程序实例下载
- PHP/MySQL教程 0次下载
- PHP完全自学手册
- phpy:PHP与Python互调用库 827次阅读
- PHP中的生成器 732次阅读
- php版冒泡排序是如何实现的? 798次阅读
- 如何在Ubuntu 20.04安装PHP 8.1并将其与Nginx集成 3148次阅读
- php是什么语言编写的 4855次阅读
- 一文知道PHP的优点和缺点 6713次阅读
- 为什么PHP的开发效率比java高但是java比PHP流行 1w次阅读
- PHP与Python对比 如何选择? 4487次阅读
- php开发中遇到的难点有哪些_十大php开发常见问题盘点 1.8w次阅读
- php开发环境的搭建和使用 3330次阅读
- PHP 集成开发环境比较 1828次阅读
- 实现php毫秒定时器方法详解 2497次阅读
- php实现定时器任务方法详解 1341次阅读
- PHP定时器实现每隔几秒运行一次方法详解 1.6w次阅读
- PHP实现定时任务的几种方法详解 7111次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多