【发布时间】:2011-01-21 19:16:42
【问题描述】:
我想知道当我想使用 PHP 获取大量数据时,防止服务器受到压力的最佳方法是什么。
将我的所有数据转换为 XML 工作表?使用缓存?
数据来自许多不同的数据库和不同的表。
有什么想法吗?
提前致谢
【问题讨论】:
我想知道当我想使用 PHP 获取大量数据时,防止服务器受到压力的最佳方法是什么。
将我的所有数据转换为 XML 工作表?使用缓存?
数据来自许多不同的数据库和不同的表。
有什么想法吗?
提前致谢
【问题讨论】:
在你做任何事情之前,给它施加压力直到它破裂。
当它断裂时,对其进行分析以识别断裂点,然后进行处理。
从第 1 点开始重复,直到性能限制可以接受。
【讨论】:
都没有。
两者都在您的 PHP 代码中增加了显着的复杂性。转换为 XML 绝对没有任何附加价值 - 事实上,它不仅是 XML 中的额外编码成本,而且还需要解码成本。至于将数据实际存储在 XML 中 - 这简直是荒谬的。
MySQL DBMS 提供了非常有效的结果缓存。底层操作系统应该提供非常好的 I/O 缓存。通过添加自己的缓存层,除了更慢的代码和更热的 CPU 之外,你什么也得不到。
如果您有一个 OLTP 类型的数据库并且经常整理大量数据集,那么您可能需要考虑预先整合它或在您的数据库中实现一个 OLAP 架构。
OTOH,如果您只是想提高系统的性能,那就看看其他地方 - 特别是您的数据场景。
C.
【讨论】:
我认为缓存将是可行的方法,除非此数据不经常更改:)
【讨论】: