好吧,具体来说,我正在运行我自己的内容管理系统,该系统在 Linux Apache2 MySQL PHP 服务器上运行。该系统可与带模块的 Linux 内核相媲美。
--(请求开始)--
系统启动他的“init”脚本,该脚本负责基于依赖项的模块加载(仅以正确的顺序加载最小模块,因此它“正常工作”,但没有其他内容(不加载禁用/未使用的模块))。
一旦系统准备好,请求处理就进入了——所有的数据都被加载、解析、处理、缓冲、咀嚼等等,直到我们有一个完整的 (x)HTML 页面。
--(请求结束)--
一旦请求被处理,数据被传递到浏览器并且系统被杀死。所有这一切都在很短的时间内发生,但最占用 cpu 的是开始部分(准备系统以供使用)。
我有几个选择:
- 让系统以现在的方式运行(并且在为实际使用而部署后可能会出现性能问题(每个系统大约 100-500 个请求/秒))
- 进行某种预加载(手动准备系统,然后不要让任何魔法发生)
- 找到一种方法使系统保持在就绪状态(所有模块已加载、类已初始化、MySQL 链接就绪等)
问题是:
- 有没有办法完成第3点?(第2点是我最不想要的)
- 如果可能,怎么做?
感谢您提供任何可以为我指明正确方向的建议!