1
我必须使用Apache Benchmark来测试URL(PHP脚本)。但是对于每个请求,我需要处理一组不同的数据,并且URL保持不变。因此,在该PHP脚本中,我需要读取一个3.000.000行文件并随机选择一个。这意味着对于每个ab请求,我需要读取该文件,然后获取一个随机行,然后处理它。PHP&压力测试 - 将大文件加载到内存中
你推荐什么方法?
我在想以某种方式在内存中加载该文件一次(并可用于所有请求),然后从它得到一个随机线。
换句话说,我需要从一个大文件中读取一个随机行而不“感觉”它。
谢谢!
测试的重点是将此文件加载到内存中吗?或者是从文件中获得随机条目,然后处理是你想要测试的内容?在我看来,从一个大文件中随机输入的最有效方式总是一个有价值的目标,但我无法分辨这是否是你要求的。 – deceze
不,测试的目的不是加载该文件。其目的是在每个请求中不加载文件的情况下获得一个随机条目。该测试是我得到一个随机输入后实际发生的情况。 – MariusP
然后,我打开文件'fseek'到'0'和文件长度之间的随机位置,逐渐向后读取,直到找到换行符,然后从那里找到'fgets'。应该非常高效。 – deceze