我编写了一个代码来测试oracle11g中一行插入的性能。 但是发现延迟会在几分钟后变慢。
测试方法是编写一个线程,并使用jdbc插入一行记录(数据大小为1K +)。 并控制插入速度为200 tps
我想要稳定的表现
但是实际结果不是,在开始时,延迟是0.9ms +,这很好,几分钟后延迟达到4〜5ms,这是很糟糕的性能。
详细信息如下:
测试环境:
Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz
memory size: 64G
SSD
在等待时间= 0.9ms +时,iostat
iostat -mx 1
avg-cpu: %user %nice %system %iowait %steal %idle
9.67 0.00 0.75 1.00 0.00 88.57
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdb 0.00 1.00 0.00 447.00 0.00 2.70 12.35 0.12 0.27 0.00 0.27 0.26 11.40
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-0 0.00 0.00 0.00 448.00 0.00 2.70 12.32 0.12 0.27 0.00 0.27 0.25 11.30
dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
在等待时间= 4〜5ms,iostat
iostat -mx 1
avg-cpu: %user %nice %system %iowait %steal %idle
9.36 0.00 0.84 4.85 0.00 84.95
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdb 0.00 0.00 0.00 400.00 0.00 0.80 4.10 0.59 1.47 0.00 1.47 1.47 58.80
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-0 0.00 0.00 0.00 400.00 0.00 0.80 4.10 0.59 1.47 0.00 1.47 1.47 58.80
dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00