1
我必須使用Apache Benchmark來測試URL(PHP腳本)。但是對於每個請求,我需要處理一組不同的數據,並且URL保持不變。因此,在該PHP腳本中,我需要讀取一個3.000.000行文件並隨機選擇一個。這意味着對於每個ab請求,我需要讀取該文件,然後獲取一個隨機行,然後處理它。PHP&壓力測試 - 將大文件加載到內存中
你推薦什麼方法?
我在想以某種方式在內存中加載該文件一次(並可用於所有請求),然後從它得到一個隨機線。
換句話說,我需要從一個大文件中讀取一個隨機行而不「感覺」它。
謝謝!
測試的重點是將此文件加載到內存中嗎?或者是從文件中獲得隨機條目,然後處理是你想要測試的內容?在我看來,從一個大文件中隨機輸入的最有效方式總是一個有價值的目標,但我無法分辨這是否是你要求的。 – deceze
不,測試的目的不是加載該文件。其目的是在每個請求中不加載文件的情況下獲得一個隨機條目。該測試是我得到一個隨機輸入後實際發生的情況。 – MariusP
然後,我打開文件'fseek'到'0'和文件長度之間的隨機位置,逐漸向後讀取,直到找到換行符,然後從那裏找到'fgets'。應該非常高效。 – deceze