Q1) 我正在设计一个CMS(-谁不是!)但优先考虑缓存。从字面上看,一切都被缓存了。数据库行、数据库 ID 查询、配置数据、已处理数据、已编译模板。目前它有两层缓存。
第一个是操作码缓存或内存缓存,例如 apc、eaccelerator、xcache 或 memcached。如果在那里找不到条目,则在二级慢速缓存中搜索它,即 php 包含。
操作码缓存实际上是否比对其中包含 var_export 数据数组的 php 文件执行 require_once 更快?我的测试没有定论,因为我的开发箱(XAMPP 的 5.3)在安装上述任何程序时不断抛出错误。
Q2) CMS 有许多按需自动加载的辅助类,而不是加载所有文件。大多数情况下,每个都在它之前有一个要求,因此不需要进行自动加载,但这不是问题。因为一个页面脚本可以包含多达 50/60 个帮助文件,所以我有一种感觉,如果站点处于压力之下,它会因为所有的 i/o 而崩溃。暂时忽略有输出缓存可以消除对我将要建议的内容的需求,并且操作码缓存也会使这个问题变得没有意义。我试图做的是将脚本执行所需的所有帮助文件加入一个文件中。这是可以实现的并且运行良好,但是它具有显着增加内存使用量的副作用,即使在技术上使用相同的代码也是如此。
您对此有何想法和看法?