可能重复:
请帮我选择一个网络服务器配置
我有一个网站,几个月内每天的访问量从 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
实际上,不可能对这个问题给出任何准确的答案,因为您获得的性能在很大程度上取决于您的特定应用程序。例如,我的 PHP 页面每秒可以得到 10k 个请求,而其他页面每秒只能得到 10 个请求。话虽如此,以下是一些您可能会觉得有用的一般事项:
- 您能够/愿意花多少钱?如果您的预算较大,则可以从更大或更多的机器开始。在较小/最低预算下,您可以在较小的设置上节省资金,但随着网站的发展,您需要更频繁地扩展。
- 你已经研究过基本的优化了吗?PHP 操作码缓存、mod_expires、缓存层、用于静态内容的 lighttpd/nginx 等……这些可以显著减少服务器的负载,意味着你可以用更少的资源运行更多的东西。
- 使用 ab (ApacheBench) 或 siege 等程序对网站进行基准测试是扩展和优化网站的重要步骤。对各种页面类型进行基准测试:静态、动态、登录、注销等...以了解您的服务器实际可以处理多少页面以及当前的瓶颈是什么。这也会帮助您进行优化和扩展,因为它会告诉您每个更改对性能有何影响。
- 典型的低端专用服务器价格约为每月 100 美元,配备 4GB RAM。这应该可以满足您当前的流量负载。只有对其进行基准测试才能告诉您最大流量是多少。
- 随着流量的增加,您将不得不决定是向上扩展(垂直,更大的服务器)还是向外扩展(水平,更多服务器)。没有错误的答案,但根据您的应用程序,其中一个或另一个可能更合适。基准测试对于了解服务器的瓶颈也很重要,这样您就可以在需要时扩展正确的服务器。我不会从更大或更多的服务器开始:以您的规模,这很可能是过度的。
- 购买专用服务器时要考虑的另一件事是每月带宽。一些低端专用服务器提供的带宽并不多,一旦超过该数量,您最终将付出高昂的代价。要进行基本估算,只需获取您当前的带宽并使用它来计算每天 50 万页面浏览量需要多少带宽。
您可能注意到我没有回答您的两个具体问题,因为如果不了解您的应用程序和配置,这些问题基本上是无法回答的。我建议您在扩展服务器时执行以下步骤:
- 对当前服务器进行基准测试
- 优化当前服务器(每一步后进行基准测试)
- 根据当前负载和流量趋势评估当前服务器的性能和最大负载。决定是否扩大规模。
- 升级到中低端专用服务器。
- 对新服务器进行基准测试。
- 监控新服务器的负载/流量并决定何时再次扩大/缩小规模。
请注意,即使您决定升级到专用服务器,我仍会执行步骤 1-3。您在 VPS 上进行的任何优化都将延续到专用服务器上。