Ike*_*nez 8 linux performance ext4 hard-disk
我在运行 Ubuntu 10.10、32 位和 ext4 分区的 Macbook Pro 上运行 ActiveMQ。
Linux iker-laptop 2.6.35-23-generic-pae #40-Ubuntu SMP Wed Nov 17 22:32:51 UTC 2010 i686 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
如果我在 ActiveMQ 中启用持久性,性能会急剧下降。我在其他机器上测试过同样的东西,差异是 2 个数量级。
有一个带有activeMQ的工具可以测试HD,结果如下:
iker@iker-laptop:~/apps/apache-activemq-5.4.1$ java -classpath lib/kahadb-5.4.1.jar org.apache.kahadb.util.DiskBenchmark
Benchmarking: /home/iker/apps/apache-activemq-5.4.1/disk-benchmark.dat
Writes:
146171 writes of size 4096 written in 11.074 seconds.
13199.477 writes/second.
51.560455 megs/second.
Sync Writes:
197 writes of size 4096 written in 10.006 seconds.
19.688187 writes/second.
0.07690698 megs/second.
Reads:
5589861 reads of size 4096 read in 10.001 seconds.
558930.2 writes/second.
2183.321 megs/second.
Run Code Online (Sandbox Code Playgroud)
同步写入的性能是 s**t。一定有什么配置错误,但这是我注意到高清性能问题的唯一应用程序。
hdparm 抛出预期值:
iker@iker-laptop:~$ sudo hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 6282 MB in 2.00 seconds = 3141.73 MB/sec
Timing buffered disk reads: 240 MB in 3.00 seconds = 79.88 MB/sec
Run Code Online (Sandbox Code Playgroud)
同步 IO 的主要限制因素不是硬盘的吞吐量,而是从发出写入到提交到磁盘所需的时间。在这方面,硬盘驱动器最相关的性能指标是硬盘驱动器的寻道时间,而不是理想情况下的吞吐量。
除了对您不利的硬件之外,内核也是如此,我猜您可能会看到一个小的改进(尽管,如果您可以将基准测试(应用程序)离子化到在实时IO调度类下运行。默认情况下,应用程序将被安排在尽力而为类别下,这可能也会增加您的写入等待时间。使用实时调度类需要您自担风险,因为它会在访问磁盘时对其他应用程序的性能产生不利影响。
一般来说,我真的不认为你看到的同步写入性能有什么可怕的问题。与异步 IO 相比,同步 IO 的性能通常会很糟糕。
作为旁注,activemq 和同步 io 的快速谷歌给出了以下内容:
出于性能原因,即使您使用的是持久消息,您也可能希望尽可能快地将消息流式传输到代理
| 归档时间: |
|
| 查看次数: |
6307 次 |
| 最近记录: |