IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 从零开始自制实现WebServer(十八)---- 对服务器做最后的压力测试 WebBench压测小工具 项目迎来终章 -> 正文阅读

[开发测试]从零开始自制实现WebServer(十八)---- 对服务器做最后的压力测试 WebBench压测小工具 项目迎来终章


前引


没想到这个系列写到第十七篇了 哈哈
写这段话的时候 已经是下午的1:52了 还没有吃午饭 这部分前引写了就去吃了

争取今天下午和晚上把这个性能测试 和 这个项目上传GitHub 以及GitHub上面的ReadMe还有一些其他的功能完善一下吧
毕竟这个也算是之后可能面试要用的正式项目了 readme以及github的好多东西原来也只是浅浅学了一下 如果这个性能测试 之后我还要调一下我的虚拟机设置的处理器个数 我发现这个太影响我的服务器性能了… 而且到时候多次测试吧 争取测试做的正确一点 细致一点

github说实话 之前上传的时候 也是跟盲人摸象一样 这篇写完系统的去学学github bash方面的一些指令了

事情还有好多 哈哈 但是现在至少心情还算愉悦 那这部分先写到这里吧 去次午饭了


(十八)---- 对服务器做最后的压力测试 WebBench压测小工具 项目迎来终章


1、正确处理Vmware-Station 处理器设置(初步调试过程)


刚刚才发现 这个原来也是一个学问
确实是 我设置过各种不同的处理器参数 我的服务器跑出来的性能确实就是天差地别 如何正确设置处理器参数 核心数量怎么设置才能让性能最高

我之前一直没有研究 现在好好的看一下

VMware : 处理器数量和每个处理器的核心数量
VMWARE虚拟机的CPU分配(VMWARE14):处理器数量、核心数量分配验证
VMware不同处理器、硬盘设置——性能对比
VMWare中的处理器数量和每个处理器的内核数量概念及查询方法


我这里大概说一下 我的cpu是i5-10400 然后是6核12线程
我刚刚发现我设置了1处理器 12内核 跑服务器的时候

我的CPU 物理本机 占用率竟然是百分之百
我再去试试我的服务器 设置为12线程 会不会性能更高一些
在这里插入图片描述


在这里插入图片描述


2、正确处理Vmware-Station 处理器设置(设置结果)


我设置的是1处理器 6核心 我设置1处理器 12核心的时候 CPU明显占用比更高
1处理器6核心的时候 我电脑的CPU占用比只有60 但我还是设置的6核心 够用就行

因为我们是在相同环境下做性能测试 同机器对比即可
内存的话 越多越好 尽量有8GB 因为我设置的4GB 在10000并发的时候 经常机器直接卡死… 没有多余的内存空间了 所以尽量还是多设置一点

可能我机器性能就是这样了 也不花时间去调更多的参数了
反正测试的服务器都是在相同环境下测试的 都是关闭所有IO的
所以我们Lets Go 进入正题吧


3、c10k压力测试 对比Linya学长的WebServer(短连接)


不知道是我测试用例有问题 还是确实是编写的时候有问题
我连最基本的hello用例都跑不了 而且主页返回的网址也是乱码…

在这里插入图片描述


访问主页是这样的…
算了 这个样子的话 比我的服务器会多返回几个字节 但也无关大碍
/hello用例确实跑不起 不知道什么问题…

算了 就用/主页这个404 NOT FOUND作为测评吧

在这里插入图片描述


下面是测评结果 确实ET工作模式 在高并发下 短连接的表现是比LT要好的 由于一次读操作可以一次把所有的连接都加进来 故ET在这方面确实更有优势

在这里插入图片描述


3、c10k压力测试 对比Linya学长的WebServer(长连接 存疑?!)


下面就来测试一下长连接吧
尽管我觉得挺不靠谱的 由于我这边最大打开文件描述符只有65536 长连接又不自动关掉连接(默认不开启定时关闭连接功能)
但是看了看Linya学长是这样测试的 那我们也就这样 我觉得不是很靠谱的方法来测试一下吧

我个人也不太清楚 为什么可以有700多万的连接 用的这个Webbench有连接的版本 是用的linya学长提供的Webbench

真的不太懂连接原理 短连接在收到消息后里面关闭
我可以理解 长连接 我的服务器最大描述符才开了65536都是默认不关闭连接的 怎么做到测试的这么多的…

在这里插入图片描述


刚刚用netstat统计了一下 发现果真如同我的猜想一样 连接数被占满后就再也没有多出来了 我在不同的时段统计了三次 并且写入了文件 发现连接数在20000的时候 就再也没有动过了

从某个角度来说 可以说当我们文件描述符用到了上限时 我们的idle文件描述符起了大用 也可以说 从这边来说 这个长连接的测试 确实感觉是不太合理的

如果是我理解有误 或者确实考虑不全面 欢迎大家下面留言交流


4、c10k压力测试 对比muduo库的Webserver(短连接)


说实话 这个WebServer的框架结构 我也是绝大部分借鉴的muduo
如果存在性能巨大差异 要不就说明 我的代码哪里出问题 出现了性能障碍 要不也没其他可能了

如果性能有些许差异 是正常的 有可能muduo库相对我们做的前置工作更多 在连接的时候 调用了更多系统调用 比我们的更完善而导致表面的性能出现了差异

那我们下面就来最后测试一下吧 最后说明
这些测试都是在本机上面进行的测试 关闭所有Logging 也就是我去把所有的Logging都给注释 再重新编译了

还有 都是设置的6线程 因为本机为6核12线程 环境都是相同的

如果性能没有多少差异 或者差异不大 这才是我们想看到的
符合我们的预期的话 测试这一篇的话 就可以完美结束了 也说明我们的代码没有非常明显的性能陷阱了


十分符合我们的预期 这也说明我们的服务器没有明显的错误
没不存在明显的性能瓶颈

测试性能存在一定的偏差 这也是正常的
哈哈 终于可以舒一口气了 这段时间一直不敢和muduo测 我怕到时候又忽然发现自己的服务器出现性能瓶颈 又回到之前的那几天 真的很难绷的查找性能瓶颈的那些天 就会发现总会出现各种各样的问题 然后自己不停的从早改到晚

现在终于可以好好的松一口气了

在这里插入图片描述


结束语


我们的测试 明显没有跑到机器最高的性能 但是测试也是同样的环境 只需要横向对比 也可以知道 服务器是否达到预期性能 是否存在性能陷阱

至于如何优化虚拟机 如何设置虚拟机使其能够用尽本机的物理性能 这方面之前也想过要不要花点时间研究 但之后想了想还是作罢

优化后 与优化前 对比的服务器还是一样的
在稍微差一点的性能环境下跑 差距相对没有这么大
在好一点的性能环境下跑 性能差距也就会扩大 但也不至于扩大到难以想象的地步

何况我本机的cpu也跑到了7012核心的时候达到百分之百 但性能优化也不明显 说明瓶颈在其他地方… 这也说明没有优化虚拟机设置的必要了
从这方面说明 服务器代码没问题 性能是高性能 有保障的即可

好了 磨蹭着磨蹭着 也下午6点了 待会还要去交毛概作业
花个15分钟给他做了 开开心心的 休闲的把接下来的事情做了 哈哈

最后几篇了 还是放个什么图片结束吧 放张我的虚拟机的文件夹们的图片结束吧 再放张目前项目代码统计 来开心愉快的结束这篇博客啦
在这里插入图片描述

在这里插入图片描述


ε=ε=ε=(~ ̄▽ ̄)~跑辣~

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-04-24 09:45:10  更:2022-04-24 09:45:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 5:06:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码