项目中遇到需要对C程序代码进行压力测试,需要模拟大量并发相关报文上报server,与服务端进行交互,测试服务端并发处理能力,本文使用Python模拟报文并进行相关并发会话建立
目标:1、按照接口协议模拟socket报文;2、建立多socket会话向C语言编写的服务端进行连接,进行压力测试;
遇到主要的问题:1、系统不支持大于1000的并发数,需要调整系统参数,ulimit -n 1024,具体设置此处不详细介绍
代码如下:
#/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: MengJie Qian
import datetime,time,os
import socket, struct,random
msg_head = 'AA766200010000'
status = '01'
gyro = '808A00000000'
other = '00' * 5 + '00' + '52'
#data='aa76b12f900064110407172239001a13070e3c00662600dcbe02b554010001800180060a901b6e00f1be5f5d00000000000000003436303031383033323734393933370000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006144'
def int_h