php - TYPO3 站点的缩放

标签 php apache content-management-system typo3 infrastructure

一位客户要求我提供一个基于 TYPO3 的网站,该网站具有以下参数: - 少量内容(约50页) - 变化频率很小 - 平均可用性约为 95%/天 - 20% 的页面被限制,仅在登录后可用 - 不需要花哨的 typo3 扩展或其他东西(只有 Typo3 核心) - 中等大小的页面 - 仅包含有限的数字 Assets (图像等)

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

基础架构会是什么样子?

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

有什么想法吗?

最佳答案

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

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

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

关于php - TYPO3 站点的缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9079832/

相关文章:

php - 如何在 CodeIgniter 4 的助手中编写数据库查询

apache - .htaccess 应该在源代码管理中进行版本控制吗?

apache - htaccess 阻止在 chrome 中使用全局 SSL 重定向

linux - 协作安装的问题

.net - Oxite:你打算用它做什么?

magento - 如何向菜单添加页面?

php - Joomla:为什么 "Extension Manager"菜单项没有显示在 "Extensions"下拉菜单中?

PHP循环遍历数组并附加到对象

php - 如何使用 MySQL 查询从数据库中的所有行中查找相似结果

php - opencart 2.0 结帐流程中缺少确认订单按钮