永发信息网

php 如何在多核服务器上发挥性能

答案:1  悬赏:0  手机版
解决时间 2021-04-19 03:19
php 如何在多核服务器上发挥性能
最佳答案
IBM有篇文章简述线程数,CPU数量(核心)对性能的影响曲线
不过是一年前看到的,刚去找了找没找到...我仅就我记得的一部分说下

IBM根据大量实际任务中的数据画了个曲线图(所统计的程序都是能尽可能多的利用cpu核心的程序)
在4个核心以内的机器上运行,程序性能几乎与核心数成正比
而在4-8个核心的机器上,其性能虽然也随核心数量增长而增长,但增长幅度一步步减弱
直到8个核心及以后,即便再增加核心,性能几乎不会再增长.(一般的程序比这更糟糕)

------(以上这部分我记得比较清,下边的比较模糊)-------
原因是同步等等因素的存在,导致cup核心数量在增长到一定程度后,多线程已经无法完全把cpu的性能发挥出来了
后来,文章说了一些规则以及一些新的关于锁的算法等等,却依然只说有一定的帮助,但效果不是很明显...

------(这部分是个人意见)------
然后再来说说线程数量的问题
不同的操作系统所允许一个进程的线程数量不同
而靠增加线程数量是比较好的完全利用上cpu资源的手段
但是假设是只有一个核心的cpu,一个程序开单线程就可以完全耗尽cpu资源,那么它开双线程就无法获得性能的提升,甚至由于启动一个线程的开销,性能还会有下降.
那么,是不是有多少个核心就只开多少线程就是最佳效果,倒也不至于...因为现在的cpu资源,普通程序,单靠一个线程很难利用完...那就可以再多开几个互不影响的线程来压榨cpu,具体多开的比例是多少,可以看看单线程对cpu的利用率以及实际情况而定...
不过,再来看看IBM的那个曲线图,恐怕也就8个线程的样子(这还得你优化的好),再往后提升就不大了...
但是,是不是就只能开这么多,那肯定不是
比如你开启某个服务,给很多人用,你是只允许每次8个人同时使用来获得最优整体性能,还是牺牲一部分整体性能来服务更多的人?

只是个人见解...如有错误还请包涵指正
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
飞机值机什么意思
在百度知道里面说了很好公公的坏话
祝福奶奶八十大寿,奶奶八十大寿,我该说点什
地点的英语单词有哪些,秋天都有哪些活动?英语
三国里有个成语剑指什么意在什么的
说一句。表示内心强大,内心狂野的句子!
个性语录超拽霸气词,要几句超拽 超酷 超霸道
描写哭得很伤心的句子,形容哭的伤心的句子
几个人说话 说了一句又一句 很感人 是什么视
齿轮模数为2.253,应该取多少的标准模数
蔡文姬传说皮肤台词,有没有跟我一样觉得荀彧
portclarence什么意思
怎样检测固态硬盘,怎么检查固态硬盘好坏
阿里斯顿热水器AM50SH2.OER3型如何智能调时间
亥水动化戌土是化回头克还是入墓
推荐资讯
当代网络审美文化,求庄子名言,关于静心的
富有哲理的名句和理解,富有哲理的名言警句
考古任务怎么做,WOW光阴苦短用不用拿法杖
我想学习做网络贷款
鱼肉饺子配什么蔬菜,虾肉与什么菜配一起做饺
松鼠一般养多久认主人,在网上看的这种小松鼠
注册淘宝怎么注册账号,怎样申请联众帐号
魔兽争霸3地图下载,要exe格式的,绿色无毒的
调查网金币怎样兑换现金
忆江南是谁写的,忆江南的作者是谁?
储存卡怎么不好格式化?
剥生虾壳有没有什么技巧
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?