3

客户要求我提供基于 TYPO3 的网站,其参数如下: - 少量内容(约 50 页) - 更改频率非常低 - 平均可用性约为 95%/天 - 仅 20% 的页面受到限制登录后可用 - 不需要花哨的 Typo3 扩展或其他东西(仅限 Typo3 核心) - 中等大小的页面 - 仅包括有限的数​​字资产(图像等)

我需要构建一个基础架构来为多达 1000 个并发用户提供服务。假设平均思考时间为 30 秒。这将导致每秒 33 个请求。

基础设施是什么样子的?

我知道系统扩展是一项高度个人化的任务,具体取决于系统的实现并需要测试,但我需要首先指示从哪里开始(单个服务器、将组件分离到不同的服务器……)。

任何想法?

4

4 回答 4

2

很有可能,已经做了这样的事情。您至少需要一台具有 >= 8GB RAM 的专用服务器。

如果我们谈论基础设施,最小的组合是:

  • 用于前端/负载平衡的 nginx/Varnish
  • Apache HTTP 服务器
  • MySQL 可以在独立服务器上,也可以集群

在这种情况下,性能优化非常重要。

一些进一步阅读的链接:

于 2012-01-31T20:56:31.890 回答
2

更简单的解决方案是EXT:nc_staticfilecache。这会将静态页面保存为 HTML,并且您的 Web 服务器会通过重写规则自动传递它们(如果是 Apache,则通过 mod_rewrite)。这对于静态内容非常有效,并且应该已经使您能够执行 >100req/s。

更花哨的方法是使用Varnish Cache。Varnish 是一个反向代理服务器,它将您的网站内容保存在内存中,并且可以在专用主机上运行。如果您正确配置它(发送正确的缓存标头!),它会为您提供线路速度(大约百万请求/秒)。还有一个 TYPO3 扩展moc_varnish,例如,当 TYPO3 中的页面发生更改时,它会清除清漆缓存。还支持边缘端包含,例如仅从 TYPO3 检索用户特定数据并使用清漆缓存中页面的静态部分(除了“欢迎用户 Foo Bar ”.. ;))。

如前所述:不要忘记为您的资产配置正确的缓存标头(过期等)。这已经从您的 Web 服务器中移除了一些负载。

于 2012-01-31T14:01:14.570 回答
0

我会研究虚拟 sserver 或 ksm 以及良好的 mysql 和 php 配置。当我有一个 ksm 时,我会调整 Linux 并使用 iptables 进行流量整形。专用的根服务器会很好,但它很昂贵。然后我会考虑使用带有 eaccellerator 和 memcache 的 nginx 或 lighttpd 网络服务器。如果这没有帮助,我会尝试使用优化标志编译 php 和 mysql,或者我会尝试使用英特尔 C 编译器编译它。ICC 可以比 gcc 更好地优化 C 代码。如果服务器有很多内存,我会使用 ramdisk。

于 2012-01-31T14:57:17.787 回答
0

我会将其放在单个专用服务器(或指定的 VPS)上,但可能会将所有静态资产保存在第三方 CDN 上,以便您可以专注于动态内容。我不知道 Typo3,但看不出有什么理由不能在同一台服务器上使用这种级别的数据库 - 肯定会有各种缓存选项。或者也许考虑一个云服务器,所以如果你需要更多的魅力,只需添加更多的资源。

编辑:我认为构建一个可扩展的架构还不是一个好主意,例如代理服务器和所有这些东西。如果它很慢并且你发现你真的无法应付一台机器,那么就扩大规模。我认为,考虑到您的预期流量,您可以使用更简单的架构。

于 2012-01-31T13:09:30.287 回答