我一直在尝试为一家大型企业的无头CMS网站重新部署项目提供硬件规模估计方面的信息。由于我主要有后台/微服务/云实现背景,收集大规模web应用程序所需的硬件规模的输入有点超出了我的范围,但由于一些意外情况,我正在汇编这方面的详细信息。
-
我发现以下链接在深入了解web服务器的大小方面很有用。https://hostadvice.com/how-to/how-to-determine-the-correct-size-and-type-of-a-web-server/#paragraph6
-
由于目前还没有对基于云的托管抱有期望,我将重点放在了"on prem"托管示例上。我试图以prem为例来理解大型银行网站的硬件规模需求。但我可能会偶然发现一些文章没有给出全面的观点。
-
就内容规模而言,我知道该网站需要提供2000个活动页面和10K个文件和文档,在过去的一个月里,该网站每月约有520万次点击,即每秒约2次点击,要选择的CMS必须在Gartner的象限中。
任何关于如何对内存、存储空间、网络、计算能力、机架等进行调整的详细信息的资源说明都将非常有用。
您的一些假设可能会遇到一些问题,即
Since the expectations are not for cloud based hosting for now
和
CMS to be opted must be in the Gartner's quadrant
我想你的意思是";Gartners魔术象限";这是大多数首席信息官通常的意思。
我不确定是否有许多内部部署解决方案不是神奇象限中的生命终结,或者不会成为生命终结,因为一切都将进入云端。Sitecore是在前提下做的,但我不确定在神奇的象限中还有谁做。
关于尺寸和数学:
In terms of content size, I am aware of the need of the website
is to serve 2000 active pages and 10K files and documents and the
past month, website had about 52K hits a month i.e. roughly 2
hits per second and the CMS to be opted must be in the
Gartner's quadrant.
每月52000次点击大约是每分钟一次点击(这个网站一点也不忙(。
假设你犯了一个错误,意味着每月52000000(取自评论(,那就是
52000000 / (86400*30)
即每秒约20个请求。假设所有点击都发生在业务期间,使用8小时作为我们的工作日,那么它大约是每秒60次点击。这是一个繁忙的服务器,不是疯狂的繁忙,但足够慢的页面等会给你带来很多痛苦。通常情况下,大型CMS公司会在他们的文献中推荐硬件期望值,我会浏览一下你想选择的,看看你能找到什么。无论他们告诉你什么,都要做大,因为他们认为他们有完美的配置来服务静态页面等,即他们的材料通常是90%的营销。
这足够的流量来赚大钱,所以客户想要HA吗?例如,如果它们托管在不同的位置,你是否需要多个服务器,集群,他们是否需要负载均衡器等。
通常,对于硬件规模,您也有非功能性要求,如高可用性、可扩展性和安全性。对于您正在查看的内部部署CMS解决方案,它通常是:
-
2 x Web服务器(负载平衡(
- CPU-至少4核
- 内存-最小16GB
- 存储-镜像SSD,大小由要存储的总图像和资产决定
-
2台数据库服务器(镜像(
- CPU-至少4核
- 内存-ECC,最小16GB
- 存储-建议RAID SSD-大小由需要存储的记录数量和每月的增长因素决定。可以肯定地说,大约1TB
然后您可以相应地调整它,以达到每秒最大并发请求的目标。我建议您查看当前流量,确定每秒最大并发请求数,然后将环境的吞吐量目标定为至少两倍。
有了上面的配置,它可以处理比您需要的更多的内容,但为您提供了所需的高可用性和规模。
确保在应用程序上添加CDN、内容和页面输出缓存,以最大限度地减少数据库访问,这是CMS应用程序的典型限制因素。
我们有一个Kentico网络应用程序,提供超过30万篇新闻文章的新闻文章,每月提供超过2亿的页面浏览量。我们看到的峰值约为每秒8万并发用户,其中大部分由CDN处理,只到达用于刷新内容的web服务器。