当前位置: 首页 > news >正文

测试epoll、io_uring的百万连接、建连、qps,以及qps客户端的实现

一、如何实现一个tcp_qps_client?

1.功能分析:

./tcp_qps_client -s 192.168.202.130 -p 9999 -t 50 -c 100 -n 1000000

开辟50个线程,100条连接,共发送100w个请求

2.实现流程:
参数解析--getopt(argc,argv,"s:p:t:c:n:?");

参数存储到--struct context_s结构体

循环开辟多个线程--pthread_create(&ptid,NULL,test_qps_entry,&ctx);

循环等待线程结束--pthread_join(ptid,NULL);

回调函数--test_qps_entry(char *ip,unsigned short port)--创建连接、收发数据

从开辟线程开始计时,到所有线程结束,结束计时

请求数/线程数=每个线程发送请求数

3.具体代码实现:

二、测试io同步处理的epoll、io异步处理的io_uring的百万并发、建连、qps?

服务器分别采用基于epoll实现的reactor、io_uring_server

均开放100个端口

epoll总积、io_uring的环形队列都设置为1024

1.百万连接测试

io同步处理的epoll_reactor:

io异步处理的io_uring:

对比:两个服务器都能实现百万连接,用时8min多

         50w连接时,io异步处理的io_uring 比 io同步处理的epol_reactor 快8s

        100w连接时,io异步处理的io_uring 比 io同步处理的epol_reactor 快16s

可见,异步处理的建连更快

2.qps测试

50线程 100w请求 数据包大小分别为64字节、128字节、256字节、512字节

对比:
64-512字节的数据包大小的变化 对qps影响不大

50线程 100w请求 异步的io_uring比同步epoll快2-3s

可见,异步处理qps更快

http://www.dtcms.com/a/453713.html

相关文章:

  • 做游戏女角色去衣的网站网站名 注册
  • Rust中所有权和作用域及生命周期
  • 外贸网站啥需要掌握在自己手里中企动力手机邮政登录
  • 二维码制作网站有哪些618网络营销策划方案
  • 【论文学习】2025年图像处理顶会论文
  • 【MyBatis】——执行过程
  • 修改配置文件之后,重启edge浏览器收藏夹消失怎么办?
  • 网站推广优化外包公司个人网站设计开题报告
  • 组播实验-IGMP、IGMP Snooping及PIM-DM协议
  • 企业seo网站推广公司wordpress 下载受限
  • 第十二篇:std::shared_ptr和std::weak_ptr:共享所有权与解决循环引用
  • 第十九章:千变万化,随心而动——State的状态艺术
  • Harmony中EventHub实现发布订阅
  • 高效学习方法——知识关联性
  • 教育类网站素材总部在上海的世界500强企业
  • CCF编程能力等级认证GESP—C++6级—20250927
  • libopenssl-1_0_0-devel-1.0.2p RPM 包安装教程(openSUSE/SLES x86_64)​
  • 网站开发栏目需求1仪征网站建设公司哪家好
  • FK 外键上需要创建index 避免 主表update时 的lock
  • 三剑合璧:C++11 lambda、variadic template 与 wrapper 的协奏
  • 空间智能找文献方向
  • 儒枫网网站建设惠州 企业网站建设
  • 基于 GEE 平台用 Sentinel-1 SAR 数据实现山区潜在滑坡检测
  • CSS是什么?—— 网页的“化妆师”
  • cygwin + redis
  • 我也来做外国网站购物苏州新区建网站
  • #智能电饭煲技术开发原理与源代码实现
  • 无人机系统耗电,低功耗管理问题解决方法(chatgpt)
  • 设计网站国外公共建设工程中心网站
  • 第二十章:遍历万象,操作随心——Visitor的访问艺术