为什么我的程序在 VPS 上的运行速度慢了 2-4 倍?

为什么我的程序在 VPS 上的运行速度慢了 2-4 倍?

我有一个程序(Ubuntu 上的 Node.js 网络应用程序),它在我的家用电脑上大约需要 7 秒加载。

最近我将它复制到了一个 VPS,在那里,它可以在 15-30 秒内加载。

我试图找出它为什么这么慢,以及如何使它更快。

我首先检查了内存消耗,但发现(使用“top”)在 VPS 上我只使用了 2 GB 中的 400 MB。因此,增加内存可能不是解决方案。

另一方面,在启动过程中,我发现 CPU 使用率是 100%,所以我想问题可能出在处理器上。所以我比较了处理器类型,但差异似乎并不大。

以下是我在家用电脑上通过“cat /proc/cpuinfo”获得的信息:

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 42
model name  : Intel(R) Pentium(R) CPU G620 @ 2.60GHz
stepping    : 7
microcode   : 0x14
cpu MHz     : 1600.000
cache size  : 3072 KB
physical id : 0
siblings    : 2
core id     : 0
cpu cores   : 2
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave lahf_lm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid
bogomips    : 5188.24
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 42
model name  : Intel(R) Pentium(R) CPU G620 @ 2.60GHz
stepping    : 7
microcode   : 0x14
cpu MHz     : 1600.000
cache size  : 3072 KB
physical id : 0
siblings    : 2
core id     : 1
cpu cores   : 2
apicid      : 2
initial apicid  : 2
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave lahf_lm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid
bogomips    : 5187.97
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

以下是在 VPS 上执行“cat /proc/cpuinfo”的结果:

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 44
model name  : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping    : 2
cpu MHz     : 2394.153
cache size  : 12288 KB
physical id : 1
siblings    : 8
core id     : 0
cpu cores   : 4
apicid      : 32
initial apicid  : 32
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 popcnt aes lahf_lm ida arat dts tpr_shadow vnmi flexpriority ept vpid
bogomips    : 4788.30
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

(这只是第一个处理器 - 我的 VPS 上总共有 11 个相同的处理器,但这并不相关,因为任何单个线程都需要进行相同的初始化)。

我的家用电脑是 2600 GHz,而 VPS 电脑是 2400 GHz。这是否意味着运行时间相差 100-300%?

更重要的是:我该怎么做才能让我的程序在 VPS 上运行得更快?

答案1

一个虚拟专用服务器回答你的问题:

它是虚拟的私人服务器。您与其他人共享硬件。

(根据设置,您只是看不到它们)。

当然,VPS 提供商也会希望在一定程度上增加系统负载,以增加其利润率。

相关内容