我正在嘗試使用請求的實際頻率分佈來自動化服務器的功能測試。 (排序的負載測試中,排序模擬)如何爲給定的概率分佈生成直方圖(用於功能測試服務器)?
我選擇了Weibull分配,因爲它「之類的」我觀察到的分佈一致(快速斜升,迅速但不脫落瞬間)
我用這個分佈產生應每天發送給定的開始和結束日期
我砍死在一起,在Python的算法之類的作品,但感覺缺憾之間的請求數:
how_many_days = (end_date - start_date).days
freqs = defaultdict(int)
for x in xrange(how_many_responses):
freqs[int(how_many_days * weibullvariate(0.5, 2))] += 1
timeline = []
day = start_date
for i,freq in sorted(freqs.iteritems()):
timeline.append((day, freq))
day += timedelta(days=1)
return timeline
有什麼更好的方法來做到這一點?
該算法總是返回預期的響應數量,但它通常不會恰好在開始和結束日期之間適合它們,我不確定這是否可能,除非我手動弄亂頻率? – 2008-09-10 11:18:50
它們不能保證在開始日期和結束日期之間適合,因爲您使用的是無限支持的概率分佈。只要你使用從分配中返回的隨機數作爲關鍵字,你就會遇到這個問題。 – Kai 2008-09-11 10:06:51