最近都在说网络不好,就是用 udp ping DO 的VPS 试试。昨天测试丢包还很少,今天测试出现了短暂的连续丢包。
但是单线程死循环发包到路由器查看速度只有 30Mbps/8 = 3.75MB/s 左右,高的时候35Mbps,低的时候25Mbps,python 线程单核近乎占满了,正常吗?
停掉了接收,完全只发送,速度能听达到50Mbps,看样瓶颈是cpu。
python 这个性能正常吗?
附:我这里是山东电信,单线程下载 DO ,刚开始速度100KB-200KB左右,有时能慢慢提升到2M。
def send_loop(sock,count):
for i in range(count):
try:
t = int(time.time()*1000)
data_t = struct.pack('!qq',t,i)
data = data_t + '0'*(SIZE - len(data_t))
s.sendto(data, address)
except:
logging.exception('send_loop')
udp ping 代码
https://gist.github.com/GameXG/77d9035c35b72856271c
暴力 ping 的结果
https://gist.github.com/GameXG/bcd419f4d4e9fb3fec6c
1
invite 2015-08-12 12:54:57 +08:00 1
1、打不开链接。
2、 “停掉了接收,完全只发送,速度能听达到50Mbps,看样瓶颈是cpu。” 这句话很突兀,你自己发自己收?那关路由器什么事情? 3、压力测试,直接发送1G数据好了,代码逻辑那么复杂干嘛,必须得知道几点几分丢包么?没必要吧。只要看到数据丢了多少百分比就好了吧。 |