【问题标题】:Can I improve performance of my GCE small instance?我可以提高 GCE 小型实例的性能吗?
【发布时间】:2015-01-06 03:23:28
【问题描述】:

我正在使用云 VPS 实例来托管非常小的私人游戏服务器。在 Amazon EC2 上,我在他们的微型实例上获得了良好的性能(1 个 vCPU [2.5GHz Intel Xeon 上的单个超线程],1GB 内存)。

不过,我想使用 Google Compute Engine,因为我对他们的用户体验和计费更满意。我正在测试他们的小型实例(1 个 vCPU [2.6GHz Intel Xeon 上的单个超线程],1.7GB 内存)。

问题在于,即使我使用相同的设置为相同的游戏配置了几乎相同的实例,AWS EC2 实例的性能也比 GCE 实例好得多。给你一个想法,虽然游戏不是 Minecraft,但我会用它作为例子。在 AWS EC2 实例上,随着玩家接近块的边缘,后续的世界块将加载得非常好。在 GCE 实例上,即使在更强大的机器类型上,玩家移动一定距离后块也无法加载;他们必须断开连接并重新登录服务器才能继续游戏。

如有必要,我可以提供更多信息,但我不确定什么是相关的。任何建议将不胜感激。

【问题讨论】:

  • 亚马逊会很高兴看到这一点。
  • 我希望 Google 能先看到它,这样他们就可以解决这个问题(如果有的话,据我所知,这是按照 Google 的设计工作的)。
  • 您最好联系 Google 支持寻求帮助。他们比任何人都更了解自己的环境。
  • 您的实例的其他参数是什么,例如磁盘大小、标准或SSD等?在 GCE 上,I/O 性能为proportional to disk size,这可能会影响您的测试。
  • 既然你已经升级到更强大的机器并且问题仍然存在,我认为这可能是连接超时问题?您能否尝试修改 TCP 保持活动设置并让我知道它是否可以解决问题。查看此链接以获取命令:cloud.google.com/compute/docs/…

标签: amazon-web-services amazon-ec2 vps google-compute-engine google-cloud-platform


【解决方案1】:

评估这种情况的诊断协议可能比您想要处理的更复杂。我的第一个想法是这种共享核心机器类型可能在一致性方面存在一些限制。这里有几个策略: 1)尝试回到较小的实例。由于您只需支付 10 分钟的费用,因此您可以查看在更高级别的机器上性能是否更好。如果无论盒子有多大,您都遇到一致的性能问题,那么我猜这与您的应用程序的性质及其虚拟化技术的性质有关。

2) 尝试测量性能的一致性。我知道这是不可接受的,但是基于它运行了多长时间,它是不可接受的吗?工作量的性质?一天中的时间?如果性能时好时坏,那么这可能又与您的工作负载类型及其虚拟化策略有关。

亚马逊以一致性着称。他们的工作非常有必要管理性能的一致性。它不应该上升或下降。

【讨论】:

  • 感谢您的策略。 1.) 我已经对各种实例大小进行了一些快速测试,比我的原始实例更小和更大,问题确实是一致的——即使实例具有两倍的可用 CPU 和内存。问题可能确实存在于服务器应用程序中,但我更倾向于 Google 虚拟化技术的本质是罪魁祸首,因为完全相同的程序在 Amazon 上运行得非常好。 2.) 性能是一致的,因为从我在创建实例几分钟后开始运行应用程序的那一刻起,它是不可接受的。
【解决方案2】:

如果没有所有细节,我最好的猜测是您使用的是一个非常小的磁盘。 GCE 根据大小限制磁盘性能。您有两个选择...连接更大的磁盘或使用 PD-SSD。

有关 GCE 磁盘性能的详细信息,请参见此处 - https://cloud.google.com/compute/docs/disks

如果有帮助请回帖。

Anthony F. Voellm(又名 Tony the #p3rfguy) Google Cloud 性能团队

【讨论】:

  • 您好 Anthony,感谢您抽出宝贵时间回复。另一位用户 - @MishaBrukman - 在上面向我指出了这一点。我responded 使用更大的磁盘进行了测试,基本上没有任何帮助缓解这个问题。不过,我还没有放弃,所以如果您需要其他详细信息来提供更多建议,请告诉我哪些信息对您有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多