Python做压测的示例代码
时间: 2023-03-15 19:23:59 浏览: 76
Python用来做压力测试的示例代码可以从GitHub上轻松获取。一个普通的示例代码类似下面这样:import timeimport requests# Make the requestURL = "http://example.org/"# Start timerstart = time.time()# Make requestresp = requests.get(url)# End timerend = time.time()# Calculate total time takentotal = end - start# Print out the resultprint("Time taken: %s" % total)
相关问题
python udp 压测
可以使用Python的socket模块来进行UDP压测。下面是一个简单的UDP压测示例代码:
```python
import socket
import time
HOST = '127.0.0.1'
PORT = 8000
MESSAGE = b'Hello, World!'
NUM_PACKETS = 10000
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setblocking(0)
start_time = time.time()
for i in range(NUM_PACKETS):
sock.sendto(MESSAGE, (HOST, PORT))
end_time = time.time()
elapsed_time = end_time - start_time
packet_rate = NUM_PACKETS / elapsed_time
print(f'Sent {NUM_PACKETS} packets in {elapsed_time:.2f} seconds')
print(f'Packet rate: {packet_rate:.2f} packets/second')
```
在这个示例中,我们使用socket模块创建了一个UDP套接字,并将其设置为非阻塞模式。然后,我们使用一个循环来发送指定数量的UDP数据包到指定的主机和端口,并记录发送所花费的时间。
最后,我们计算发送的数据包速率并打印结果。这个示例只是一个简单的UDP压测,如果需要更准确的结果或更复杂的测试,可以根据需要进行修改。
python generator 示例代码
以下是一个简单的 Python 生成器示例代码:
```python
def my_generator(n):
i = 0
while i < n:
yield i
i += 1
# 使用 for 循环输出生成器中的值
for num in my_generator(5):
print(num)
```
在上面的示例中,`my_generator` 是一个生成器函数,它接受一个整数 `n` 作为参数,并在 `while` 循环中使用 `yield` 语句生成从 0 到 `n-1` 的整数。使用 `yield` 而不是 `return` 语句使得该函数返回一个生成器对象,而不是一个列表或其他类型的数据结构。
在主程序中,使用 `for` 循环遍历生成器对象并输出其中的值。由于生成器对象只会在需要时生成下一个值,因此该示例代码非常高效,并且不会占用大量内存。