放弃我的潜伏者状态,最后问一个问题……
我需要知道如何改进从XML文件中提取数据的PHP脚本的性能.
一些背景:
>我已经将瓶颈映射到cpu – 但希望在降低处理器成本之前优化脚本的性能.具体来说,脚本中耗费大量cpu的部分是XML加载.
>我使用XML存储对象数据的原因是因为数据需要通过浏览器Flash界面访问,我们希望在该区域提供快速用户访问.该项目仍处于早期阶段,因此如果最佳做法是完全放弃XML,那也是一个很好的答案.
>大量数据:目前正在绘制大约10万个对象,尽管通常是小对象 – 并且它们必须全部被纳入脚本,可能有一些罕见的例外.数据集只会随着时间的推移而增长.
>经常运行:理想情况下,我们每小时运行脚本~50k次;实际上,我们已经满足了~1k / h的运行速度.这与数据大小相结合使得性能优化成为当务之急.
>已经采取了优化步骤,对同一数据进行多次运行,而不是为每次运行加载它,但它仍然需要太长时间.运行通常应使用“新鲜”数据以及用户进行的修改.
解决方法:
只是为了澄清:您正在加载的数据来自XML文件,以便在当前状态下进行处理,是否在发送到Flash应用程序之前进行了修改?
看起来你最好使用数据库存储数据并根据需要推出XML而不是先用XML读取它;如果构建XML文件变慢,则可以在生成文件时对其进行缓存,以避免冗余生成相同的文件.