A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

具体的测试过程就不说了,因为使用了docker。直接讲结果吧。


测试环境是这样的

用一个主(作为负载均衡转发),俩个从(负载均衡用的)。为什么需要负载均衡?因为我们之前测试分配核心和进程时,越多它并发数就越低。当我们使用一核心时,反而是并发数最高,且核心的资源都被占满了。


所以,我想测试,当占满所有的核心,能否提升并发数。


主:配置了1核心一个线程,分配给第四个核心

从1:配置了1核心一个线程,分配给第一个核心

从2:配置了1核心一个线程,分配给第二个核心


它们都在linux机器下,因为用docker开了容器。所以,还是在单个机器下。


测试结果是并发数只能到1300。为什么反而降了?因为负载均衡和之前测的不一样,之前是直接为http服务器,而现在多了负载均衡,所以会更慢。


但是这次的测试并不是完全没有作用,而是解决了一个我一直存在的疑问:为什么最高只能1700,明明我cpu还没用光啊,要是能够充分利用肯定能更高,可是它为什么就不用光呢?


这次的测试就是因为这个疑问而起的,其实就是负责nginx的那个核心满了!它无法处理更多的请求了,这样请求就不会进入其它的核心。而不是那些优化无效。


所以,负责负载均衡转发的服务器,要核心很强才行。多核的话,它们的上下文切换速度也得考虑,而不是越多核心并发数越高(仅在对比单核)。


要租服务器的时候选择计算能力高的双核。1核主要负责负载均衡转发,另外一个处理linux自身程序。负责项目运行的从机可以为单核,只要调好权重即可,压力大了就加机器负载均衡。


上面说的“不是越多核心并发数越高”,其实也不恰当,只是对比核数少而已。实际上,你十二核肯定能秒杀一核的(同款)。


---------------------

原文:https://blog.csdn.net/weikaixxxxxx/article/details/85986510

有任何问题欢迎留言哦



2 个回复

倒序浏览
欢迎联系学姐哟DKA-2018
回复 使用道具 举报
感谢分享~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马