7寸显示器 树莓派4b_我们在树莓派4B上完成了60000路并发模拟测试

由于我是做大数据后台开发,早有耳闻树莓派成百上千的集群,用在各种场合测试中,树莓派整合度高,可玩性强,性价比高,arm架构低功耗等特性,吸引了我,就在近期入手了一台新版高配的4B板子,装上外壳后很酷!

a887298a6225aa49a76217c1620cc5d3.png
c5658cec5420a9da9b1d635dbc8b5f55.png

我们公司是专业开发gps大数据后台,目前正在向通用物联网平台迈进,大数据的处理能力至关重要,优化与改进也在近期进行,在我们的gps模拟器开发好后,首先想到的宿主机便是树莓派了,两者结合起来,充当我们后台的压测工具,能产生什么效果不得而知!

我们的gps模拟器是采用golang开发,可以跨平台运行,它可以创建指定数量的gps虚拟机,每个虚拟机都是单独的维护与服务器的链路,定时上传指定协议处理器的数据,虚拟机内置gps虚拟模块,随机产生gps数据,虚拟机定时采集模块的数据,每次上传前会将数据传入协议处理器,由协议处理器打包特定格式,虚拟机接收到数据也会路由到指定的协议处理器分析,该架构支持多协议处理器。

首测并不理想,是因为没有对linux相关技术参数调整,在经过一番搜索后,总结如下:

修改临时端口的范围

# echo 1024 65535 > /proc/sys/net/ipv4/ip_local_port_range

注意以上命令是在root用户时执行的!!

或者 sudo sysctl -w net.ipv4.ip_local_port_range="1024 65535"

设置用户最大允许打开文件数量

ulimit -n 64511

调低端口释放后的等待时间,默认为60s,修改为15~30s:

sysctl -w net.ipv4.tcp_fin_timeout=10

修改tcp/ip协议配置,释放TIME_WAIT端口给新连接使用

sysctl -w net.ipv4.tcp_timestamps=1

快速回收socket资源,默认为0,修改为1

sysctl -w net.ipv4.tcp_tw_recycle=1

允许端口重用:

sysctl -w net.ipv4.tcp_tw_reuse = 1

参数设置好后,我们在树莓派上运行gps模拟器,并成功的模拟了60000台gps虚拟机,测试时间长达两个半小时,期间60000个tcp并发链接无异常,数据收发无异常!树莓派内存占用36%左右,cpu在50%至80%之间浮动,后台内存一直往上涨,22g左右了,主要是10秒频率产生的内存数据增长率,要远远大于磁盘写入率,等数据全部写入数据库,后台的内存也就释放了!

95d40faaae2df860e541b4dcdf7c314e.png
d12055af39bde138156810ce6c882bd8.png

以上分别是树莓派资源占用截图,后台资源占用截图。

本次测试,机器和软件都很给力,坚定了未来我们用树莓派做集群的决心!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值