測試程式:
1. rtls.py - 將預先產生的 1,000,000 筆記錄以 radius 的方式送出.
(每一筆記錄會產生 3 個 radius packets, 分別是 ringing, answer, release)
(收到 rad.py 的 ack 後才會送下一個 radisu packet)
2. rad.py - 將收到的 radius 資料轉發給 rtbsvr.py, 並回 radius 的 ack 給 rtls.py.
(只有 release packet 中的資料會轉發)
3. rtbsvr.py - 將收到的資料加入資料庫中.
以上程式, 都只跑在同一台機器. (與網路 stack 無關)
測試環境及結果:
pc26 | nb27 | pc34 | |
OS | 2.6.9-34.EL | 2.6.9-34.ELsmp | 2.6.20-rc6 #1 SMP |
python | 2.3.4 | 2.3.4 | 2.3.4 |
postgresql | 8.1.8 | 8.1.4 | 8.1.8 |
pygresql | 3.8.1 | 3.8.1 | 3.8.1 |
cpu | Intel(R) Pentium(R) 4 CPU 2.80GHz 512 KB Cache (5605.85) | Genuine Intel(R) CPU T2400 @ 1.83GHz 2048 KB Cache (1998.36) (DualCore) | Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz 4096 KB Cache (4819.82) (DualCore) |
memory | 1GB | 1GB | 2GB |
duration | 5:32:36 (22:39:05 - 04:11:41) | 2:28:11 (16:33:14 - 19:01:25) | 4:20:45 (22:40:28 - 03:01:13) |
handling average/call | 19.956 ms | 8.891 ms | 15.605 ms |
1000筆的 min dur. | 11.29 sec | 7.23 sec | 4.54 sec |
1000筆的 max dur. | 57.45 sec | 20.25 sec | 33.39 sec |
1000筆的 mean | 19.956 sec | 8.891 sec | 15.605 sec |
1000筆的 std var. | 8.35 sec | 2.58 sec | 6.22 sec |
軟體上的不同點 (下次測試時可以調整的):
1. postgresql 版本. 應該都調到 8.1.8 或 8.2.*
2. OS 版本. 應該都用 2.6.9-34.ELsmp. (但 pc34 是 修明的工作 設備, 舊版沒有 對應的 driver) 或都採用 2.6.20 系列.
沒有留言:
張貼留言