对 Linux 机器进行基准测试的最佳工具是什么?我正在比较来自两个不同云提供商的机器。它需要是一个命令行工具。只需要对 CPU 和 I/O 性能进行基准测试。
刚刚用 iSCSI 设置了一个穷人的 SAN 并想对其进行基准测试。除此以外,还有哪些适用于 Linux 的良好 I/O 性能基准测试:
hdparm -tT /dev/sda1
Run Code Online (Sandbox Code Playgroud)
如何获得 IOPS 测量值?
谢谢。
我一直在重新思考编译器的争论,我开始怀疑:Amazon EC 是否适合进行基准测试?环境是完全虚拟的,那么是否可以保证基准测试结果是可重复的?或者我应该假设虚拟主机环境时间切片会干扰计时方法?
我找不到任何具体说明合理的并发连接数的任何内容 - 我也找不到关于此主题的任何论文或研究。
老板说“服务器需要处理 50,000 个并发用户 - 所以用 50,000 个并发连接来衡量。”
然后我在至少一个流行的博客中看到,测量 50 个并发连接相当于被 Slashdotted 或 Farked。
数字是多少?什么是合理的?什么不是?在任何给定时间,并发连接数如何转化为在线用户数?
是否有可用于确定我的数据存储上的最大 IOPS 的工具?由于 SAN 的配置方式(安装人员配置不当),很难计算这一点,我们想知道天花板在哪里。看起来我们有很多净空,但我们想要一种方法来做到这一点。
是否有删除 ZFS 和 UFS 磁盘缓存的命令?(最好只有一个文件夹层次结构。)
我正在尝试调整从大量文件读取/写入数据的应用程序的性能设置。主要是读书。
在实际使用中,该应用程序只会偶尔运行一次,因此有问题的文件不太可能被缓存。
然而,由于我连续多次测试,Solaris 试图通过将此文件保留在内存中来提供帮助。
/path/to/data在基准测试运行之间,我可以指示 Solaris从其缓存中删除任何内容吗?
谢谢
使用 php-fpm 在 Apache mod_php 与 nginx 上有很多旧的基准测试
但是,在 2.4 版中,Apache 可以使用 php-fpm。是否有任何合理的基准比较 mod_php 和 php-fpm(均在 Apache 2.4.x 上)?
我想知道 LXC 是否可以提供一个完全隔离的基准测试环境。假设我们有 2 台相同的机器,使用相同的全新 Linux 并且没有网络连接。
第一台机器的平均负载为 50,第二台机器只有 1。
我将同一个容器放在两台机器上并运行任何程序的基准测试。
两台机器的性能会一样吗?
如果没有,您知道拥有完全隔离环境的更好方法吗?我的意思是,一种在不依赖主机平均/当前负载的情况下具有相同性能的虚拟化方式。
谢谢 :)
我有两台服务器 A 和 B,配置如下:
我在单个 RAID 分区上运行以下基准测试: iozone -a -s 10240 -r 4 -+r
A的结果(摘录):
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
10240 4 108 474 4193564 6667334 6556395 701 4058822 475 3653175 2303202 2616201 6785306 6101840
Run Code Online (Sandbox Code Playgroud)
B的结果(摘录):
random random bkwd record stride
kB reclen …Run Code Online (Sandbox Code Playgroud) 我在 SSD 中复制了一个 10GB 的文件,使用 fio 命令进行基准测试,其读取带宽约为 3.3GB/s。这是参考: https: //cloud.google.com/compute/docs/disks/benchmarking-pd-performance
我使用“sync; echo 3 > /proc/sys/vm/drop_caches”清除了缓存。之后,我尝试每次使用系统调用 open() 和 read() 以 3MB 的小块读取文件。如果我打开没有 O_DIRECT 和 O_SYNC 的文件,它会给我大约 1.2GB/s 的带宽。但是,如果我使用 O_DIRECT 和 O_SYNC,它会提供大约 3GB/s 的带宽。即使 O_DIRECT 也没有真正使用页面缓存,两次都会清除缓存。
我的问题是为什么 O_DIRECT 提供正常的 IO 带宽,而没有 O_DIRECT 我无法获得它。由于从 IO 到页面缓存的数据带宽为 3.3GB/s,从页面缓存到用户缓冲区的带宽假设约为 7GB/si。该管道还应提供正常的 3.3GB/s。为什么速度比较慢?
我每次都会读新的 3MB。我没有重用数据,因此缓存并不是很有用。但是管道应该是受IO约束的,为什么不呢?
CPU 为 Intel(R) Xeon(R) Silver 4214 CPU @ 2.20GHz。我不确定 DRAM 的速度。但问题是,如果我多次重新读取相同的 3MB,那么我会获得约 8GB/s 的带宽。我想这应该是 DRAM 带宽。因为linux可以使用所有的空闲RAM作为页面缓存。
我尝试了启用和不启用 O_DIRECT 的 fio 命令并记录了 iostat。
使用这个 fio 命令。“fio --name=read_throughput --directory=$TEST_DIR --numjobs=1 --size=10G --time_based --runtime=30s …
benchmark ×10
linux ×3
hard-drive ×2
performance ×2
apache-2.2 ×1
apache-2.4 ×1
bandwidth ×1
datastore ×1
disk-cache ×1
fio ×1
io ×1
iozone ×1
lxc ×1
mod-php ×1
php-fpm ×1
php5 ×1
read-only ×1
solaris ×1
vmware-esxi ×1