部标JT808车辆定位监控平台单服务器13.6万接入压力测试记录(附源码)

这篇具有很好参考价值的文章主要介绍了部标JT808车辆定位监控平台单服务器13.6万接入压力测试记录(附源码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

之前经常有人问平台能支持多少设备同时在线,由于事情多没时间做。最近刚好有机会做下压力测试。在不间断的连续压测三天,最终结果为13.6万TCP连接,30秒上报频率。

一、测试目的

测试平台同时接入设备数量与并发处理能力。

二、准备环境

一台主服务器用于部署车辆定位平台,是常见的8核16G内存300G硬盘,操作系统为centos 7.9,基础软件mysql8.0、redis3.2、jdk1.8,还有车辆定位平台软件。

三台压力测试服务器,同内网服务器。两台为8核16G,一台为2核4G。操作系统均为centos 7.9。

一台8核16G的服务器模拟6.3万个终端设备。
一台8核16G的服务器模拟5.3万个终端设备。
一台2核4G的服务器模拟2万个终端设备,该服务器由于配置原因模拟2万已是极限。
共模拟13.6万个终端设备,外加2台真实设备。

5.3万的压力服务器还有加压1万的空间,但加压后报异常:java.net.NoRouteToHostException: Cannot assign requested address (Address not available)。

三、编写压力测试程序

压力程序由java编写,用Socket类保持长连接,并收发数据,比较简单两个类。源代码如下:

public class TestApp {

	public static void main(String[] args) {
		String ip=args[0];
		String port=args[1];
		String maxThread=args[2];
		String startIndex="0";
		if(args.length>=4)startIndex=args[3];
		try {
			int sindex=Integer.parseInt(startIndex);
			int eindex=sindex+Integer.parseInt(maxThread);
			for(int i=sindex;i<eindex;i++) {
				System.out.println("启动线程"+i);
				new Thread(new SendJT808Thread(Utils.leftAdd0(String.valueOf(i), 14),ip,Integer.parseInt(port))).start();
			}
		
		} catch (Exception e) {
			e.printStackTrace();
		} 
	}

}

public class SendJT808Thread implements Runnable {
	private String tid="";
	private String ip;
	private int port;
	private Socket socket;
	public SendLhcxThread(String tid,String ip,int port) {
		this.tid=tid;
		this.ip=ip;
		this.port=port;
	}
	
	@Override
	public void run() {
		
		try {
			System.out.println("连接服务器->"+ip+":"+port);
			socket=new Socket(ip,port);
			while(true) {
				Thread.currentThread().sleep(30*1000);
				String time=Utils.getTime();
				String temp="这里生成JT808的0x0200报文";
				socket.getOutputStream().write(Utils.hexToBytes(temp));
				int len=socket.getInputStream().available();
				socket.getInputStream().skip(len);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			try {
				if(socket!=null)
				socket.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

}

四、参数调优

1、测试端放开端口区间,以下是临时设置,没放开只能模拟1万多个终端
sysctl -w net.ipv4.ip_local_port_range=“1024 64000”

2、测试端开启允许最大线程,以下是临时设置,没放开只能模拟3.2万个终端
sysctl kernel.pid_max
sysctl -w kernel.pid_max=65535

3、服务端,放开文件句柄数,目标为10万连接,没放开服务器报错:Too many open files
/etc/security/limits.conf
root soft nofile 200001
root hard nofile 200002

4、车辆定位的JT808网关解析线程设置为16,默认为2

五、测试结果

连续压测几天后接入2个真实设备操作业务,数据上报及指令下发都正常。各项服务器指标如下:
jt808服务器源码,服务器,压力测试,python,JT808,车载监控
jt808服务器源码,服务器,压力测试,python,JT808,车载监控
jt808服务器源码,服务器,压力测试,python,JT808,车载监控
jt808服务器源码,服务器,压力测试,python,JT808,车载监控

六、附地址:

演示地址
http://gps.lingx.com/
账号:admin
密码:123456

终端设备接入
IP:47.100.112.218
端口:8808文章来源地址https://www.toymoban.com/news/detail-848393.html

到了这里,关于部标JT808车辆定位监控平台单服务器13.6万接入压力测试记录(附源码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 华为云GPU服务器使用PaddleClas和PaddleServing训练、部署车辆类型分类模型服务

    以下针对最近使用PaddleClas和PaddleServing在华为云GPU服务器上训练和部署一个车辆类型识别模型过程进行记录,以供日后自己参考和其他有需要的朋友一些帮助,接触这方面东西时间较短,如有问题欢迎批评指正。 如何在华为云服务器上搭建GPU版本的PaddlePaddle环境请参考以下文

    2024年02月13日
    浏览(32)
  • prometheus 配置服务器监控、服务监控、容器中服务监控与告警

           最近公司有几个服务遇到了瓶颈,也就是数据量增加了,没有人发现,这不是缺少一个监控服务和告警的系统吗?         主要需求是监控每个服务,顺带监控一下服务器和一些中间件,这里采集的2种,zabbix和prometheus,由于我们要监控的是Docker容器中的服务,最终

    2024年02月14日
    浏览(37)
  • 定位服务器CPU爆满的具体原因

    1、查询CPU消耗的进程 使用top命令查看系统的CPU和内存使用情况  CPU一列是线程占用百分比 以为PId:7355为例, 执行top -Hp 7355,线程按照CPU使用率排序。   执行printf %x 7391,将线程PID转成16进制-1cdf。因为堆栈里,线程id是用16进制表示的,这一步也可以使用其方式转换。 这一步

    2024年02月12日
    浏览(33)
  • 性能测试分析案例-定位服务器丢包

    预先安装 docker、curl、hping3 等工具,如 apt install docker.io curl hping3。 案例是一个 Nginx 应用,如下图所示,hping3 和 curl 是 Nginx 的客户端。 在终端一中执行下面的命令,启动 Nginx 应用,并在 80 端口监听。如果一切正常,你应该可以看到如下的输出: 执行 docker ps 命令,查询容

    2024年02月01日
    浏览(37)
  • 汽车管理在线查询工具,定位车辆,轻松追踪!

      随着金融科技的不断发展,越来越多的在线查询工具被应用到汽车管理领域。一款名为汽车管理在线查询工具,定位车辆,轻松追踪的工具就是其中之一。此工具通过API接口代码实现了车牌号查车辆信息、车辆故障码、VIN查询汽车品牌以及二手车估值等功能,为用户提供了

    2024年02月05日
    浏览(29)
  • Prometheus+Grafana 监控平台实践-搭建&常用服务监控&告警

    Prometheus 是一个开放性的监控解决方案,通过各种 Exporter 采集当前主机/服务的数据,和 Grafana 相结合可以实现强大的监控和可视化功能 本篇将分享使用 docker compose 构建 Prometheus+Grafana,并监控之前文章所搭建的主机服务,分享日常使用的一些使用经验 文章较长,已安装可略

    2024年02月05日
    浏览(42)
  • Linux 定位服务器硬盘槽位的方法

    2024年02月04日
    浏览(33)
  • Prometheus服务器、Prometheus被监控端、Grafana、Prometheus服务器、Prometheus被监控端、Grafana

    day03Prometheus概述部署Prometheus服务器环境说明:配置时间安装Prometheus服务器添加被监控端部署通用的监控exporterGrafana概述部署Grafana展示node1的监控信息监控MySQL数据库配置MySQL配置mysql exporter配置mysql exporter配置prometheus监控mysql自动发现机制概述基于文件自动发现修改Prometheus使

    2024年02月14日
    浏览(32)
  • 服务器分析和监控

    在当今数字化时代,对于网络流量的分析和监控变得越来越重要。本文将详细介绍如何利用HTTPS代理服务器来实现高效、安全且可靠的流量分析与监控功能,并提供具体操作步骤以及相关技巧。无论是企业需要优化网络性能还是个人用户,在遵循法规合规前提下使用这一技术

    2024年02月09日
    浏览(36)
  • 监控 FTP 服务器

    文件传输协议 (FTP) 用于在 TCP/IP 网络中的服务器和客户端之间传输文件,它是一种标准协议,广泛用于在各个垂直行业的组织之间从集中位置存储和分发数据。FTP协议的其他一些安全版本如下: SSH 文件传输协议 (SFTP) :它使用SSH(安全外壳协议)加密传输的命令和数据

    2024年02月11日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包