我目前正在使用WSGI,Eventlet和REDIS来创建一个websocket服务器。我们看到的CPU负载非常高,可以满足我对连接数的期望。
我们与websocket服务器有大约2000个连接,大约每1分30秒推送一次信息。信息被捕获并放入REDIS数据库,如果有任何消息等待客户端,则消息将作为回复发回。
Python 2.7版
wsgi设置如下所示 wsgi.server(eventlet.listen(( '127.0.0.1',8000),积压= 5000),程序hello_world,MAX_SIZE = 5000)
我已经在脚本开始使用
修补了eventlet libimport eventlet
eventlet.monkey_patch()
希望能解决任何导致高CPU的Redis相关死锁问题。
服务器是在Ubuntu 16.04上运行的EC2 C4大型服务器。 Amazon
除了这个脚本之外,服务器上没有其他任何东西运行到100%CPU对我来说似乎非常高,但也许我的期望是不正确的。
任何人都可以帮忙解决一些常见问题吗?