我有一个程序(Ubuntu上的Node.js网络应用程序),在我的家庭计算机上加载大约7秒。
最近我把它复制到一个VPS中,在那里,它在15-30秒内加载。
我试图找出为什么它这么慢,以及我如何使它更快。
我从检查内存消耗开始,但发现(使用"top")在VPS上,2GB中仅使用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上运行得更快?
发布于 2013-10-02 09:02:06
VPS的定义回答了您的问题:
这是一个虚拟的私有服务器。你和其他人共享硬件。
(你只是看不见它们,这取决于设置)。
当然,为了提高VPS的利润率,在一定程度上加载VPS系统符合VPS提供商的利益。
https://serverfault.com/questions/543196
复制相似问题