我用 Python/Twisted 编写了一个音频广播服务器。它工作正常,但内存使用量增长太快!我认为这是因为某些用户的网络可能不够好,无法及时下载音频。
我的音频服务器将音频数据广播到不同听众的客户端,如果其中一些不能及时下载音频,这意味着我的服务器会保留音频数据,直到听众收到为止。更重要的是,我的音频服务器是一个广播服务器,它接收音频数据,并将它们发送到不同的客户端,我虽然 Twisted 将这些数据复制到不同的缓冲区,即使它们是相同的音频片段。
我想减少内存使用的使用,所以我需要知道客户端何时接收到音频,以便我可以决定何时丢弃一些慢客户端。但我不知道如何使用 Twisted 实现这一目标。有人知道吗?
我还能做些什么来减少内存使用量?
谢谢。维克多·林。