首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >亚马逊云上基于龙卷风的python游戏服务器延迟问题

亚马逊云上基于龙卷风的python游戏服务器延迟问题
EN

Stack Overflow用户
提问于 2021-05-02 20:22:08
回答 1查看 110关注 0票数 0

我有基于龙卷风的游戏服务器,托管在亚马逊云、1gb内存和10 on硬盘上,每天有500个用户,现在的用户是30+。用户在世界各地,我是托管云机在美国西部,因为大多数用户来自美国。我面临着网络延迟的问题。当我有一个用户响应时间是1秒,这也是很高的,但是当用户移动到10+时,这个响应时间开始下降到2秒,对于50+用户来说,这个响应时间是8秒。我做了测试并编写了测试脚本。test1。

  1. 使用上面提到的相同的测试脚本进行测试,在本地机器主代码上痒,在本地延迟小于1000 as (90%中位数220 as)的

上运行。

  1. 在云上运行相同的代码,在相同的云上测试脚本相同的结果

  1. 在云上运行游戏服务器,脚本在本地延迟8秒内运行
EN

回答 1

Stack Overflow用户

发布于 2021-05-03 04:46:33

1.网络I/O

如果在请求处理程序中执行网络绑定操作(例如连接到数据库,或将请求发送到另一个API),则使用await语句执行这些任务,以便Python可以暂停协同线并异步处理其他请求。

2. CPU任务和磁盘I/O

如果您正在执行cpu绑定操作(网络I/O以外的任何代码需要几毫秒才能运行),那么使用IOLoop.run_in_executor在一个单独的线程中运行这些任务。这将释放主线程,以便CPU可以运行其他任务。

龙卷风是一台单线程服务器。这意味着CPU只能在给定的时间运行一件事情。因此,如果单个响应花费220 to的CPU时间,而如果您有10个连接的客户端,则需要超过2秒才能为第10个客户端服务。这一次,随着客户端数量的增加,只会增加*(但并不总是按比例计算,因为Python可能会重用CPU缓存)。

看起来云服务器上的CPU速度不如您的个人CPU快,因此增加了延迟。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67360792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档