Warm tip: This article is reproduced from serverfault.com, please click

google compute engine-为什么带有COS映像的GCE VM更快?

(google compute engine - Why is GCE VM with COS image faster?)

发布于 2020-12-03 18:23:29

我有两个GCE实例:一个在容器中运行COS映像的COS映像。叫它吧VM1另一个带有直接在其上的CentOS 7映像。叫它吧VM2他们两个都运行相同的PHP应用程序(Laravel)。

VM1
 Image: COS container with CentOS 7
 Type: n1-standard-1 (1 vCPUj, 3,75 GB)
 Disk: persistent disk 10 GB

VM2
 Image: CentOS 7
 Type: n1-standard-1 (2 vCPUj, 3,75 GB)
 Disk: persistent disk 20 GB

如你所见,VM2其规格比略好VM1所以它应该表现更好,对不对?

就是说,当我请求一个特定的端点时,VM1响应时间约为1.6秒,而VM2响应时间则约为10秒。它慢了大约10倍。端点在两个VM上执行完全相同的操作,它在GCP SQL实例上查询数据库,并返回结果。没什么异常。

因此,它几乎是相同的硬件,是相同的来宾操作系统和相同的应用程序。唯一的区别是VM1通过Docker运行应用程序。

我搜索并尝试调试许多东西,但不知道发生了什么。也许我误会了一些东西。

我最好的猜测是COS映像进行了一些优化,可以使应用程序执行更快。但是我不知道到底是什么。首先,我认为这可能是某些磁盘IO问题。但是磁盘利用率还可以VM2然后我以为可能是某些OS配置,然后比较了两个VM的sysctl设置,并且也有很多差异。但是我不确定优化的关键是什么。

我的问题是:为什么有这种区别?我该如何改变以使其VM2更快VM1呢?

Questioner
Diego Andrade
Viewed
11
João Paulo Andrade 2020-12-20 05:42:05

我没有使用GCP的经验(仅仅是Azure和AWS),但是这个问题可能与延迟有关。因此,你需要确认所有资产是否都在同一地区。

你可以尝试验证每个VM对BD做出响应的时间。有了这些信息,你将能够知道这种情况是否与延迟有关。

https://cloud.google.com/compute/docs/regions-zones/