php - 是否可以有一个持久的 PHP session 来更快地交付网页?

标签 php performance content-management-system preloading

具体来说,我正在运行我自己的内容管理系统,该系统运行在 Linux Apache2 MySQL PHP 服务器上。该系统可与带模块的 Linux 内核相媲美。

--(请求开始)--

系统启动他的“init”脚本,负责基于依赖的模块加载(只加载最少的模块,以正确的顺序,所以它“正常工作”,但没有别的(不加载禁用/未使用的模块) ).

一旦系统准备就绪,请求处理就开始了——所有的数据都被加载、解析、处理、缓冲、咀嚼等等,直到我们有一个完整的 (x)HTML 页面。

--(请求结束)--

一旦请求被处理,数据被传递到浏览器并且系统被终止。所有这些都在很短的时间内发生,但最占用 CPU 的是开始部分(准备系统以供使用)。


我有几个选择:

  1. 让系统保持现在的状态(并在部署用于实际使用后冒性能问题的风险(每个系统大约 100-500 个请求/秒))
  2. 做一些预加载(手动准备系统,然后不要让任何神奇的事情发生)
  3. 找到一种方法使系统保持就绪状态(加载所有模块、初始化类、准备好 MySQL 链接等)

问题是:

  • 有没有办法实现第 3 点? (第2点是我最不想要的)
  • 如果可能,怎么做?

感谢您给我指明正确方向的任何建议!

最佳答案

可能您需要的是 PHP APC、eAccelerator 或其他一些扩展,它们可以解析您的代码并将其作为字节码保存在内存中,这对于 CPU 饥饿的情况可以极大地帮助您提高性能。看来您具备设置此类扩展的知识,我会向您推荐“APC”,它是目前使用和测试最多的一种:

http://en.wikipedia.org/wiki/List_of_PHP_accelerators

编辑:对于 MySQL,我会使用“持久连接”,这也可能有所帮助。

关于php - 是否可以有一个持久的 PHP session 来更快地交付网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7071162/

相关文章:

mysql - 是否有规范化列=行的表的快捷方式?

.net - Sitecore 演示文稿 : Not using XSLT renderings at all

php - 寻找具有出色国际化和本地化能力的开源CMS

php - 寻找一个不是用PHP编写的“下一代” CMS,或者是Wordpress的更好替代方案。

php - 使用 PHP 的 XML RPC 连接

php - 了解数据库表的 JSON 输出

php - 根据用户输入安全地调用函数

PHP 将函数名称作为参数传递然后调用该函数?

java - 用于嵌套一系列 for 循环的大 O

python - 如何解读分析结果?