脚本如下:

# -*- coding:utf-8 -*-
'''
@Author: Stefan @File: server_listener.py @Date: 2016-11-09 If you execute this test script on servers, you have to modify the system parameter below:
sysctl net.ipv4.tcp_tw_recycle=1
'''
import sys
sys.path.append('/export/servers/app/xxxx')
import time
import socket
import threading
import multiprocessing
from src.xxxxclient.xxxx_client.lib.socket import header_pack, receive
HEADER_LENGTH = 16
DEFAULT_TCP_PORT = 1104
DATA = {'xxxx_ADMIN': 'thread_keepalive'} count_of_processes = range(1)
# DO NOT modify the parameter below
count_of_threads = range(1) # Unit: second
execute_time = 60 def loop(times):
""" :return:
"""
time_start_now = time.time()
time_future = time_start_now + execute_time
while True:
if time_start_now > time_future:
break
else:
time_start = time.time()
S = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# S.connect(('127.0.0.1', DEFAULT_TCP_PORT))
S.connect(('x.x.x.x', DEFAULT_TCP_PORT))
header, data = header_pack(DATA, HEADER_LENGTH)
S.sendall(header+data)
header, result = receive(S, HEADER_LENGTH, 1024)
S.close()
time_end = time.time()
time_used = time_end - time_start
print "Thread lasted %.2f sec. Status: %s" % (time_used, result)
time_end_now = time.time()
time_gap = time_end_now - time_start_now
time_start_now += time_gap def multi_threads():
""" :return:
"""
threads_list = list()
for i in count_of_threads:
t = threading.Thread(target=loop, args=str(count_of_threads[i]).split())
threads_list.append(t) for i in count_of_threads:
threads_list[i].start() for i in count_of_threads:
threads_list[i].join() class muliti_process(multiprocessing.Process):
""" """
def __init__(self):
""" :return:
"""
multiprocessing.Process.__init__(self)
self.processes_list = list() def run(self):
""" :return:
"""
for i in count_of_processes:
p = multiprocessing.Process(target=multi_threads,)
self.processes_list.append(p) for i in self.processes_list:
i.start() if __name__ == '__main__':
p = muliti_process()
global_start = time.time()
p.start()
p.join()
global_end = time.time()
global_used = global_end - global_start
print "==================\nTotal %.2f sec" % global_used

最新文章

  1. Android学习探索之Java 8 在Android 开发中的应用
  2. Hello bokeyuan!
  3. AngularJS多模块开发
  4. python中列表,元组,字符串互相转换
  5. Could not parse mapping document from input stream
  6. Android菜鸟成长记10 -- ListVew
  7. 粒子滤波particle filter和目标跟踪
  8. UI学习笔记---第十四天数据持久化
  9. OGG-00782 - OGG 11.2.1.0.2 FOR Windows x64 Microsoft SQL Server
  10. nginx 配置文件
  11. 1090. Highest Price in Supply Chain (25)
  12. POJ2236 Wireless Network 并查集
  13. JDK之jstat的用法
  14. ACM——3n+1
  15. iOS 16进制颜色转换10进制颜色
  16. .net嵌入c#代码(投票练习)
  17. foreach和for循环的区别
  18. 解决Plugin is too old,please update to a more recent version,or set ANDROID_DAILY_OVERRIDE..
  19. AndroidEclipse里的视图里想添加SDK Manager但是找不到怎么办?
  20. django pymysql

热门文章

  1. 学习Yii(2)
  2. 【ARM-Linux开发】U-Boot启动过程--详细版的完全分析
  3. Linux sar命令
  4. fastclick.js
  5. 石子合并/能量项链【区间dp】
  6. kafka 名词解释及原理解析过程(三)
  7. Netty的学习
  8. (十三)springMvc 处理 Json
  9. Secret的三种形式
  10. element-ui组件dialog遇到form