随笔 - 313
文章 - 29
评论 - 32
阅读 -
124万
随笔分类 - 并发相关
百万长连接并发的限制因素
摘要:百万长连接并发的限制因素 (1) CPU:使用top,然后按1查看,如果有逻辑CPU跑到100%,那就是受限了。多线程或线程绑定CPU都可以; (2) 内存:本文主要讨论内存限制; 1. 一个TCP连接默认占内存大小 针对长连接来讲,监听和connect的过程是几乎不消耗内存的。内存主要消耗在滑动窗
阅读全文
维护TCP长连接时系统配置的参数net.ipv4.tcp_keepalive_time不生效
摘要:背景 项目中经常使用LVS做负载,当一个长连接过段时间不发消息时,LVS之后就不会再转发这个长连接的TCP数据包。 使用TCP长连接的场景 一种情况:为了节省TCP连接时间,我们选择建立几个固定的TCP长连接,然后把所有的消息平均分配的这几个TCP通道上传送给对方。 另一种情况:客户端和服务端之间是
阅读全文
valgrind的使用方法
摘要:valgrind每次使写在脚本里,下次使用都要去搜索半天命令,现在记在这里。 valgrind --leak-check=full --trace-children=yes --undef-value-errors=no --track-fds=yes --num-callers=50 --log-
阅读全文
Linux文件描述符限制和单机最大长连接数
摘要:soft/hard nofile(ulimit -n -H)(对应的配置文件:/etc/security/limits.conf) file-max(/proc/sys/fs/file-max) nr_open(/proc/sys/fs/nr_open) 参考文章:https://blog.csdn
阅读全文
TCP链接异常断开后,对端仍然ESTABLISH
摘要:双方建立TCP链接,其中一方拔掉网线,另一端依然是ESTABLISHED,那么要过多长时间才会发觉链接被断开了呢? [root@node1 ~]# sysctl -a |grep keepalive net.ipv4.tcp_keepalive_intvl = 75 net.ipv4.tcp_kee
阅读全文
Linux stress CPU的测试方法
摘要:一、stress工具安装:1、获取stress源码安装包(stress-1.0.4.tar.gz)3、解压并安装 [root@localhost /]#cd /tmp/ [root@localhost tmp]#tar –zxvf stress-1.0.4.tar.gz 4、进入stress-1.0
阅读全文
磁盘测试工具FIO工具安装和使用方法
摘要:一、FIO工具安装: 1、查看fio是否安装 [root@localhost /]#rpm –qa|grep fio 2、源码安装(推荐) 官网地址:http://freecode.com/projects/fio/ 源码安装包:http://brick.kernel.dk/snaps/fio-2.
阅读全文
iperf测试工具
摘要:一、iperf工具安装: 1、获取iperf源码安装包(iperf-3.0.5.tar.gz) 2、将iperf安装包上传到服务器/tmp/目录并解压 [root@localhost /]#cd /tmp/ [root@localhost tmp]#tar –zxvf iperf-3.0.5.tar
阅读全文
Linux查看物理CPU个数、核数、逻辑CPU个数
摘要:CPU总核数 = 物理CPU个数 * 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数 这些都代表什么,那就请看CPU架构 多个物理CPU,CPU通过总线进行通信,效率比较低,如下: 多核CPU,不同的核通过L2 cache进行通信,存储和外设通过总线
阅读全文
Linux服务器高并发实践经历
摘要:作为一个师父离职早的野生程序员,业务方面还可以达到忽悠别人的水平,但上升到性能层面那就是硬伤。 真是天上掉馅饼,公司分配了一个测试性能的任务,真是感觉我的天空星星都亮了。 高并发主要限制因素:CPU、网络流量、内存、系统配置 CPU 用top看cpu利用率,按1查看每个cpu线程的工作情况;这里面会
阅读全文
针对文件系统和网络性能的测试
摘要:由于工作需要,需要对文件系统和网络性能等进行测试: 一、文件系统测试 fio: 直接读取盘符下的data目录,测试结果和自己写程序,open(,DIRECT_IO)的结果几乎相近,很有说服力。 iozone:能测多种读写方式,还能自动生成测试报告,可惜,即使指定屏蔽缓存,测试结果也不如fio真实。
阅读全文
代码覆盖工具(gcov、lcov)的使用
摘要:一、安装 gcov:是随gcc一起发布的,并不需要独立安装;lcov:其他博客说是随ltp发布的,结果下载下ltp之后编译了10多分钟,最后也没见lcov,最后到sourceforge下载了lcov单独的代码: wget http://ncu.dl.sourceforge.net/project/l
阅读全文