微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python SocketIO 服务器性能迅速下降

如何解决Python SocketIO 服务器性能迅速下降

我有一个运行 python-socketIO 的简单 Python 3 应用程序。我使用它以每秒 30 次的频率将近 400 000 个值的列表流式传输到客户端应用程序。我采用了压缩技术,将网络带宽降低到更易于管理的水平。

测试应用程序运行良好,但其性能下降得非常快。两个客户端连接时,帧率接近20。4-5个客户端时,帧率小于10。

为什么应用程序的性能下降如此之快,如何解决

我使用这个命令来启动服务器。

gunicorn -k eventlet -w 1 --reload server:app

这是我的代码

#IMPORTS 
import socketio
import driver as customData
import threading
import lz4.frame

#SERVER SETUP
sio = socketio.Server()
app = socketio.WsgiApp(sio,static_files={
     '/':'./clientView/'
})

#VARIABLE SETUP
stream  = False

#FUNCTION DEFinitioNS

def stream_Data():
    global stream
    while stream == True:
        sio.emit('dataStream',lz4.frame.compress(customData.stream_Raw(),9))

def startStream():
    global stream
    if stream == True:
        print('Stream Requested: Already in Progress...')
    elif stream == False:
        print('Stream Initialized...')
        stream = True
        STREAM_THREAD.start()
        

#THREAD SETUP
STREAM_THREAD = threading.Thread(target = stream_Data)

#SOCKET EVENTS
@sio.event
def connect(sid,environ):
    print(sid,'connected')

@sio.event
def disconnect(sid):
    print(sid,'disconnected')

@sio.event
def streamEvent(sid,data):
    global stream

    if data == 'stream':
        startStream()
        stream = True

    if data == 'stop_Stream':
        stream = False
    


版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。