リクエストの現実的な頻度分布を使用して、サーバーの機能テストを自動化しようとしています。(一種の負荷テスト、一種のシミュレーション)
私が観察した分布と「ある程度」一致するため、ワイブル分布を選択しました(急速にランプアップし、すぐに低下しますが、すぐには低下しません)。
この分布を使用して、特定の開始日と終了日の間に毎日送信する必要があるリクエストの数を生成します
私は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
これを行うためのより良い方法は何ですか?