选择 Web 服务器配置

选择 Web 服务器配置

我有一个网站,几个月内访问量从每天 10 次增加到每天 100 次,现在每天的独立访问量约为 800 次。

到目前为止,我一直在使用具有 512MB RAM 和共享 CPU(我认为其频率在 500 Mhz 到 1 Ghz 之间)的 VPS。

我认为某些请求服务可能很慢,因为我看到跳出率很高(主要流量是在我国夜间。另外,我国白天整个服务器通常都是免费的。因此,当我在白天检查时,加载时间似乎没问题。)。

无论如何,有人能告诉我最小专用服务器配置(Ram、CPU 和端口速度)可以处理以下情况而不会减慢任何请求:

  • 每天有 10 万次独立访问量(这是未来的想法)。
  • 每天 50 万次页面浏览量。(平均每次访问 5 次)
  • 每页大小为 100KB(一张图片、几个缩略图、一些杂项……通常会小得多,但计算起来比较悲观)。
  • 假设峰值负载是平均负载的 5 倍(负载在 24 小时内永远不会均匀分布)

现在我不确定瓶颈是什么。我只想知道一个大概的想法。

另一方面,您甚至可以建议以下服务器可以支持每天的页面浏览量(假设类似 5X 峰值负载分布):

  • 2 GB 内存
  • 2 GHz 中央处理器
  • 100 Mbps 上行链路端口(我甚至不知道这是否专用于我,但许多提供商都提到了这一点)。

编辑:

我正在提供 PHP 页面。其中大多数页面没有或只有很少的数据库查询(最多 5 个简单查询)。除此之外,还有一些会话变量操作等。平均数据库查询/查询次数为每页 2 次,表中的记录不超过几千条

答案1

您引用的大多数指标与预测容量无关 - 而且缺少大量您确实需要的信息。

只要您使用共享服务器,就很难确切知道您有多少可用的 CPU - 如果您的 VPS 已经不够用,那么专用机器可能是最佳选择。

您没有提到您当前正在使用什么网络服务器/操作系统,也没有提到您当前是否使用 SSL。

我认为某些请求的服务可能很慢,因为我看到跳出率很高

想想吧?你真的需要开始衡量这一点。你说的“跳出率”是什么意思?

首先要做的是开始测量您的网站的表现如何 - 开始在您的日志中记录 %D,如果您使用 mysql,请为慢查询日志设置一个低阈值。

接下来,确保您的网站配置良好,性能良好 - 安装操作码缓存,确保您提供良好的缓存指令,启用压缩(对于 PHP,您需要 gzhandler)。

您距离需要 100MBps 的容量还有很长的路要走 - 但出于其他原因,在您的网卡上追求这种速度是有意义的。

开始记录正在运行的 httpd 进程数,并将其与“free”报告的可用内存(减去缓冲区和缓存)进行比较。根据使用情况的范围,对于非常小的数据库,您应该争取拥有足够的可用内存来容纳 80% 的静态内容和数据库文件。

答案2

如果没有关于特定应用程序性能特征的详细信息,就无法做出判断。如果您通过 nginx 提供静态 HTML,那么您当前的 VPS 每天应该可以处理多达一百万页或更多;如果您的应用程序对所服务的每个页面进行复杂的数据库查找,然后对结果运行计算量大的算法,那么您将需要一个负载平衡器和一整组服务器才能达到每天 500,000 页的处理量。

答案3

如果您的页面兼容 PHP 5.3+,强烈建议使用 nginx。

你可以找到一些比较这里。但是如果您使用的是旧版本的 PHP,我建议继续使用 Apache,而不是修补 PHP 以将其作为服务运行。

您当前的配置可以轻松地通过 Nginx 满足您的要求。

相关内容