Files
water-management-system/tests/performance/__pycache__/websocket_stress.cpython-312.pyc
T

36 lines
5.7 KiB
Plaintext
Raw Normal View History

Ë
ÀYzj ãóž—dZddlmZddlZddlZddlZddlZ ddlZGd„d«Z d
d„Z
d d„Z d d„Z e
d k(re «yy#e$rdZYŒ-wxYw)
uWebSocket 长连接并�压测(Issue #94)
支� 100 - 5000 并�连接梯度,统计建连�功率�消�往返延迟(P50/P95/P99)。
�行:
python tests/performance/websocket_stress.py --url ws://127.0.0.1:8000/ws --concurrency 500 --duration 60
é)Ú annotationsNcó—eZdZdd„Zdd„Zy)ÚStatscó.—d|_d|_g|_y)Nr)Ú connectedÚfailedÚ latencies)Úselfs ú%tests/performance/websocket_stress.pyÚ__init__zStats.__init__s€ØˆŒØˆŒ Ø&(ˆ�óc
ó‡—|jsd}n^t|j«Šˆfd„}d|d«dzd›d|d«dzd›d |d
«dzd›d tj‰«dzd›d � }d
|j›d|j
›d|›�S)Nu无消æ�¯æ ·æœ¬c
ód•—‰tt‰«dz
t|t‰«z««S)Né)ÚminÚlenÚint)ÚqÚlss €r Ú<lambda>zStats.summary.<locals>.<lambda>"s&ø€˜"œS¤ R£¨1¡¬c°!´c¸"³g±+Ó.>Ó?Ò@r
zP50=gà?ièz.1fzms P95=gffffffî?zms P99=g®Gáz®ï?zms avg=Úmsu
建连æˆ�功=u 失败=u | 往返延迟 )r ÚsortedÚ
statisticsÚmeanrr)r
ÚlatÚprs @r Úsummaryz
Stats.summarys¢ø€Ø�~Š~Ø#‰C䘟™Ó'ˆBÛ@ˆAØ™!˜C›& ™+ cÐ*¨'±!°D³'¸$±,¸sÐ1CðDÙ˜D›' $™, sÐ+¨7´:·?±?À2Ó3FÀtÑ3KÈCÐ2PÐPRðTˆCà §¡Ð/¨x¸¿ ¹ °}ÐDTÐUXÐTYÐZÐ[r
N©ÚreturnÚNone)rÚstr)Ú__name__Ú
__module__Ú __qualname__r r©r
r rrs
„ó)ô
\r
rcƒó.K— tj|d¬«4ƒd{–—†}|xjdz
c_tj«|z}tj«|krÀtj«}|j d«ƒd{–—† t
j|j«d¬«ƒd{–—†|jjtj«|z
«t
jd«ƒd{–—†tj«|krŒÀddd«ƒd{–—†y7�Œ7Œ«7Œ#t j$rYŒbwxYw7ŒM7Œ'#1ƒd{–—†7swYyxYw#t$r|xjdz
c_YywxYw­w)Né
)Ú open_timeoutrz{"type":"ping"}é)Útimeout)Ú
websocketsÚconnectrÚtimeÚ perf_counterÚsendÚasyncioÚwait_forÚrecvr ÚappendÚ TimeoutErrorÚsleepÚ Exceptionr)ÚurlÚdurationÚstatsÚwsÚendÚt0s r Úworkerr=(s0èø€ðÜ×%Ñ% c¸×;Õ;¸rØ �OŠO˜qÑ �OÜ—)‘)“+ Ñ(ˆCÜ—)‘)“+ Ò#Ü×&Ñ&Ó(�Ø—g‘gÐ/Ó0×0Ð0ðÜ!×*Ñ*¨2¯7©7«9¸aÔ@×@Ð@Ø—O‘O×*Ñ*¬4×+<Ñ+<Ó+>ÀÑ+CÔDô—m‘m AÓ&×&Ð&ô—)‘)“+ Ó#÷<×;Ñ;ùð