搭建TCP服务器环境和jmeter测试TCP协议
2016-03-20 10:10
796 查看
搭建服务器环境
演示的是linux服务器上搭建环境,window环境一样
1)使用python写好服务器端程序,程序是支持多线程并发的。单线程就不需要jmeter去进行性能测试了。
代码引用:
http://www.cnblogs.com/hazir/p/python_socket_programming.html
运行程序
使用telnet测试连接
至此tcp服务器环境已经搭建好了
使用jmeter编写简单脚本进行测试
![](https://img-blog.csdn.net/20160320095839621)
运行结果
正常结果
![](https://img-blog.csdn.net/20160320100127987)
这里出现两种异常情况,一种是没有收到返回结果
![](https://img-blog.csdn.net/20160320100216075)
一种是 Software caused connection abort
![](https://img-blog.csdn.net/20160320100239841)
出现问题的原因还不清楚,后面分析
增加并发进行压测的时候能够明显看到服务器CPU上升
到这,jmeter测试TCP协议基本过程讲完,重要的还是后面的问题分析和定位。
中途遇到的问题:本地使用telnet能够发送请求,使用jmeter却提示unknownhost 。这是我本地jmeter的问题,重启下jmeter或者重新打开jmeter自带的tcpsampler脚本,修改一下。就可以运行了。
演示的是linux服务器上搭建环境,window环境一样
1)使用python写好服务器端程序,程序是支持多线程并发的。单线程就不需要jmeter去进行性能测试了。
代码引用:
http://www.cnblogs.com/hazir/p/python_socket_programming.html
import socket import sys from thread import * HOST = '' # Symbolic name meaning all available interfaces PORT = 8888 # Arbitrary non-privileged port s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) print 'Socket created' #Bind socket to local host and port try: s.bind((HOST, PORT)) except socket.error , msg: print 'Bind failed. Error Code : ' + str(msg[0]) + ' Message ' + msg[1] sys.exit() print 'Socket bind complete' #Start listening on socket s.listen(10) print 'Socket now listening' #Function for handling connections. This will be used to create threads def clientthread(conn): #Sending message to connected client conn.send('Welcome to the server. Type something and hit enter\n') #send only takes string #infinite loop so that function do not terminate and thread do not end. while True: #Receiving from client data = conn.recv(1024) reply = 'OK...' + data if not data: break conn.sendall(reply) conn.close() #came out of loop conn.close() #now keep talking with the client while 1: #wait to accept a connection - blocking call conn, addr = s.accept() print 'Connected with ' + addr[0] + ':' + str(addr[1]) #start new thread takes 1st argument as a function name to be run, second is the tuple of arguments to the function. start_new_thread(clientthread ,(conn,)) s.close()
运行程序
[root@localhost Desktop]# python threadServer.py Socket created Socket bind complete Socket now listening
使用telnet测试连接
[root@localhost dev]# telnet 192.168.1.107 8888 Trying 192.168.1.107... Connected to 192.168.1.107 (192.168.1.107). Escape character is '^]'. Welcome to the server. Type something and hit enter nihao OK...nihao Connection closed by foreign host.
至此tcp服务器环境已经搭建好了
使用jmeter编写简单脚本进行测试
运行结果
正常结果
这里出现两种异常情况,一种是没有收到返回结果
一种是 Software caused connection abort
出现问题的原因还不清楚,后面分析
增加并发进行压测的时候能够明显看到服务器CPU上升
到这,jmeter测试TCP协议基本过程讲完,重要的还是后面的问题分析和定位。
中途遇到的问题:本地使用telnet能够发送请求,使用jmeter却提示unknownhost 。这是我本地jmeter的问题,重启下jmeter或者重新打开jmeter自带的tcpsampler脚本,修改一下。就可以运行了。
相关文章推荐
- java-模拟tomcat服务器
- Linux socket 初步
- Java IO与NIO的一些文件拷贝测试
- java socket 注意的地方
- java socket 注意的地方
- C#基于socket模拟http请求的方法
- 推荐六款WEB上传组件性能测试与比较第1/10页
- 简单的Ruby中的Socket编程教程
- Socket不能选择本地IP连接问题如何解决
- C#之Socket操作类实例解析
- 使用C#来编写一个异步的Socket服务器
- C#使用Socket快速判断数据库连接是否正常的方法
- 科学知识:理解socket
- C#代码性能测试类(简单实用)
- Android聊天工具基于socket实现
- php与flash as3 socket通信传送文件实现代码
- 解决time_wait强制关闭socket
- C#使用Socket上传并保存图片的方法
- asp 性能测试报告 学习asp朋友需要了解的东西
- 深入php socket的讲解与实例分析