专栏名称: 奥斯特洛司机
朝闻道,夕死矣。为中产而奋斗的小编
目录
相关文章推荐
Yuichi的宏观金融笔记  ·  想卖房,得抓紧了 ·  6 小时前  
弗雷赛斯  ·  优秀国自然技术路线图分享和制作 ·  4 天前  
募格学术  ·  一份专属科研人的DeepSeek+ChatG ... ·  2 天前  
PaperWeekly  ·  NAACL 2025 | ... ·  4 天前  
51好读  ›  专栏  ›  奥斯特洛司机

7.3、超负荷安全处理、综合压力测试

奥斯特洛司机  · 简书  ·  · 2019-04-17 16:59

正文

1、输出一些观察信息(printTDinfo())
每个10秒中显示一次关键、重要的信息。
当前在线人数,空闲链接列表大小,将来释放的连接大小,当前时间队列。
收消息队列和发消息队列大小。

2、一楼安全问题思考
2.1、收到太多数据包处理不过来
一、降速:暂时关闭读事件在epoll对象中。客户端的请求会积压在客户端的发送缓冲区和服务器的接收缓冲区。等到服务端数据处理的差不多了再接收。
二、增加线程。
2.2、积压太多数据包发送不出去
一、壮士断腕,清楚发送缓冲区的队列。
二、针对某个连接的发送数量过高,关闭该连接。
2.3、连入安全的进一步完善
延迟释放导致如果介入的客户端过快过多,会导致延迟回收队列急速扩张。
应对办法:不接收新的连接进来,只到延迟队列到时缩小。(这样好吗?)

3、压力测试前的准备工作
3.1、配置文件内容和配置项确认
3.2、整理业务逻辑函数

4、压力测试
服务器压力测试需要连续跑很多天,才能暴露缺陷。因为小小的内存泄露,多日累计就会变得庞大。
创建2048个socket,连接到服务端。
客户端和服务器分开不同的电脑测试,在linux服务器上运行服务器程序。







请到「今天看啥」查看全文