为什么VPS对于各种类型和规模的网站和应用程序来说都是非常出色的解决方案?
首先,它比其他类型的托管具有许多优势,但也许它最大的优势是它可以以合适的价格为您提供合适的性能。
然而,只有当您满足所需的规格时它才会这样做。
如果你选择的虚拟服务器不够强大,而购买资源超过你所需的VPS就像开着一辆直线加速赛车去商店一样困难。
找到正确的平衡点可能很棘手。要做到这一点,您必须了解虚拟服务器组件的工作原理、它们的作用以及它们如何影响您的网站速度。
今天,我们将重点关注为您的VPS供电的CPU内核,带你了解CPU核心对VPS性能影响究竟有多大。
什么是CPU核心?
主机服务器(无论是物理服务器还是虚拟服务器)与您在家中或办公室中使用的计算机没有太大区别。它没有图形处理单元让您在上面玩游戏或观看视频,但除此之外,关键组件几乎相同。SSD设备存储数据,随机存取存储器对于服务器上运行的软件的顺利运行至关重要。当然,还有 CPU。
大家可能都知道,CPU是中央处理器的缩写。它通常被称为计算机的大脑,简单来说,它的工作就是执行指令、进行计算和处理数据。
现代 CPU 背后的技术始于 20 世纪 70 年代和 80 年代商用微处理器的推出。从那时起,这项技术经历了几次飞跃,其中最重要的一次就是多核架构的发明。
从根本上讲,硬件供应商已经想出了如何在单个集成电路上实现多个处理单元的方法。这些单元称为核心,它们执行与传统 CPU相同的计算并执行相同的指令。但是,由于您拥有多个核心,因此可以同时处理的工作量会自动增加。
集成电路上的所有核心都可以访问处理器的缓存,控制单元协调指令的执行并分配工作负载以实现最高效率。
多核模型改变了现代 CPU 的工作方式。即使你口袋里的智能手机也可能有四到八个核心,这使得它速度极快,在多任务处理方面表现出色。
但是在网络托管环境中,CPU 核心如何工作?
处理能力和网络托管
从表面上看,CPU 上每增加一个核心,处理能力就会增强。许多人都会理所当然地认为,处理能力越强,加载速度就越快。
如果事情真这么简单那就太好了,但不幸的是,事实并非如此。
首先,您需要了解 CPU 在网站加载过程中的作用。用户看到的每个网页都包含静态和动态数据。页面的静态部分包括图像和媒体文件、CSS 样式表、设计用于在浏览器中执行的 JavaScript 文件等。您在缓存中找到的信息通常也是静态的。
提供这些数据需要CPU 的最低限度的交互。请求的资源已准备就绪。Web 服务器需要做的就是检索它们 - 无需执行任何计算,也无需生成或处理任何数据。这就是为什么在网站上实施缓存解决方案时会自动降低 CPU 使用率的原因。
这也是为什么在尝试修复性能问题之前正确诊断它们如此重要的原因。如果您的网站因为每张图片都只有几兆字节而需要很长时间才能加载,那么升级 CPU 也无济于事。
它能帮助处理动态数据。除了静态元素和缓存数据之外,您的服务器还需要运行数据库查询、执行脚本以及生成对时间敏感或对每个访问者唯一的数据。这些任务都是CPU 密集型的,因此完成它们的速度在很大程度上取决于您的处理器强度。
然而,这比堆积核心并期待辉煌的结果要复杂一些。
计算机处理有两种类型:
单线程处理
单线程处理形成一个命令和指令队列,这些命令和指令会逐一执行。所有这些都包含在单个进程中,使操作更简单,更易于调试。CPU 也不需要切换上下文,因此开销较小。
另一方面,您只有一个线程,如果某个特别棘手的计算任务拖慢了它的速度,那么整个过程就可能停止。如果因为某种原因线程被阻塞,整个过程就会停滞。
多线程处理
在多线程环境中,单个进程内有多个线程。可以同时执行多个指令,从而更有效地利用处理器资源。多线程方法使 CPU 保持忙碌状态,同时等待其他操作完成。没有指令队列,因此需要大量处理能力的任务可以得到显著提升。
缺点是多线程模型的设计和同步更加复杂。如果设计不当,在单个进程内运行多个线程的潜在性能提升可能会被削弱。
对于使用单线程处理的软件应用程序,CPU 速度比内核数量更重要。相反,多线程处理应用程序可以将指令分配到不同的内核之间,并使其更快地执行。对于此类平台,额外的内核具有更显著的影响。
但是您的网站需要什么样的处理?
很有可能,两者都有。现代网站运行在一系列软件应用程序和平台之上,其中一些使用单线程,一些使用多线程处理。例如,WordPress 是用PHP编写的,它往往主要依赖于单线程模型。同时,像 Apache 这样的流行 Web 服务器以多线程处理访问者请求。换句话说,Web 托管服务器上的优质处理器速度快且具有多个核心。
事实上,对于网络托管而言,CPU 速度很少会成为问题。例如,WordPress 只需要 1GHz 即可运行,而现代网络托管服务器的运行速度接近或超过 3GHz。即使您添加了大量插件,对处理能力的需求也不太可能达到那么高。
然而,随着项目流量和知名度的提高,您几乎肯定需要添加更多核心并调整托管环境以满足额外的需求。
VPS 环境中的 CPU 核心
选择虚拟服务器时,您可以选择硬件配置,包括RAM、存储空间和一个或多个CPU 核心。如果您的网站需要更多处理能力,您只需添加更多核心即可。
但是这些核心究竟是如何工作的呢?
现代服务器处理器可以在同一芯片上拥有数十个 CPU 核心。云托管提供商使用互连且配置为协同工作的服务器集群,从而为他们提供数百甚至数千个物理核心的池。不过,这些物理核心与 VPS 中的物理核心并不相同。
您的托管服务提供商使用虚拟化技术在虚拟机之间分配硬件资源,提供完全隔离的环境、可靠的性能和高级别的安全性。
那是一件坏事?
并非如此。服务器处理器非常强大,因此即使是单个物理核心也可能对您的项目来说太多了。虚拟化层允许主机为用户提供所需的处理能力,同时将不必要的开销降至最低。这就是为什么 VPS 托管解决方案被认为是迄今为止最具成本效益的解决方案。
此外,VPS 托管的前提是用户获得一个灵活、易于扩展的环境,适合各种形状和大小的网站。确保这一点的最佳方法是允许用户自定义配置,并在需要时升级和降级。
虚拟机的 CPU 核心可能不是功能齐全的物理处理单元,但它们的工作方式完全相同。现代虚拟机管理程序可以高效模拟处理器如何在各个核心之间分配指令,以从可用资源中获取最大性能。
选择正确的 CPU 配置并监控 CPU 使用率
确定全新 VPS 需要多少个 CPU 核心可能很困难。VPS主机提供商可以根据每月访问量进行粗略估算。不过,还有太多其他变量,例如您的网站使用的软件、您安装的插件以及您实施的优化技术。
好消息是,由于您使用的是 VPS,因此选择错误的配置并不是什么大问题。对性能的影响应该是立即可见的,因此如果您发现您的网站速度很慢- 这显然表明存在一些问题。
问题是,将整个扩展策略完全建立在网站在屏幕上显示的速度上并不是一个好主意,尤其是当您拥有一系列工具来向您展示如何利用服务器资源时。有些工具是您的帐户所使用的网络托管控制面板的一部分,有些工具嵌入在操作系统中。了解如何充分利用它们,您将能够在对加载速度的影响显现之前识别瓶颈和潜在的性能问题。
让我们从服务器管理平台中嵌入的功能开始吧。
控制面板
资源使用工具位于 cPanel 的主页上,并且非常简单易用。
有一个图表详细说明了过去七天您的 CPU 承受了多少负载,以及其他组件运行情况的其他信息。统计信息也可在服务器信息部分找到,可通过右侧的侧边栏访问。
该页面充满了与 VPS 上运行的各个组件和服务相关的数据以及它们的健康状态。
结论
过去几十年来,提供最灵活解决方案的竞争一直是网络托管行业的主流。如今,网站及其需求千差万别,主机服务商必须非常善于调整其服务才能生存下去。多核处理器以及不断发展的云技术在这方面为托管服务提供商提供了极大的帮助。
供应商现在可以将VPS从共享套餐和专用服务器之间的中间点转变为适用于从小型博客到大型在线商店的一体化解决方案。要充分利用它,您需要做的就是为您的项目选择正确的配置。
常问问题
问: VPS 中的 CPU 核心是什么?
答:物理 CPU核心是用于读取和执行指令的处理单元。当虚拟机管理程序创建虚拟服务器时,它会将物理核心拆分为多个虚拟核心。硬件处理器的功能在虚拟环境中得到完全模拟,这意味着您的 VPS 核心执行的任务与现实世界中的完全相同。
问: 有哪些比较好的VPS服务器?
答:像国内的话有萤光云、阿里云、华为云、腾讯云,国外的主要有Vultr、Lightnode、AWS、Digitalocean。
问: 如何修复速度缓慢的 VPS?
答:您的首要任务是诊断性能问题。加载速度慢可能是由服务器地理位置、网站优化不佳或服务器资源不足等原因造成的。了解问题后,您可以采取适当的措施来修复它。
问: 服务器应该有多少个核心?
答:您使用的CPU 核心数取决于多种不同的因素。流量显然是一个重要的考虑因素,但您还必须考虑您所使用的网站构建应用程序的要求,以及您提供的数据的性质及其缓存量。