背景:我正在构建一个安静的 HTPC + NAS,它也应该用于一般的计算机用途。到目前为止,我对它总体上很满意,只是我期望 IO 性能会更好一些。我不知道我的期望是否不切实际。NAS 是作为通用文件存储和 XBMC 和其他设备的媒体服务器存在的。ZFS 是必需的。
问题:我的瓶颈在哪里?我可以通过配置来提高性能吗?我认为虚拟机磁盘设置可能会有所帮助,但我真的不知道该怎么做,因为我既没有使用过 FreeNAS,也没有使用过 VMware-WS。
测试: 当我在主机操作系统上将文件(从 SSD)复制到 CIFS 共享时,我获得大约 30 Mbytes/sec 的读写速度。当我使用连接到网络的笔记本电脑时,我获得大致相同的规格。我进行的测试是使用 16 GB ISO 和大约 200 MB 的 RAR,并且我尝试通过读取与我正在写入的文件不同的文件(> 10 GB)来避免 RAM 缓存。感觉 CPU 核心越少效率越高,因为 Windows 中的资源管理器报告的 CPU 使用率越低。在 VMware 中使用 4 个核心时,CPU 使用率为 50-80%,使用 1 个核心时,CPU 使用率为 25-60%。
编辑:
SSD 上的 HD ActiveTime 相当高,所以我移动了页面文件,禁用了休眠模式,并在 SSD 和 RAID 上启用了 Win DiskCache。这导致一个文件的性能没有实际差异,但如果我传输 2 个文件,总速度会上升到 50 Mbytes/s,而不是 ~40。ActiveTime 平均值也下降了很多(下降到 ~20%),但现在突发速度更高。DiskIO 平均值约为 30-35 Mbytes/s,突发约为 100Mb。网络为 200-250Mbits/s,有 ~45 个活动 TCP 连接。
硬件
- 华硕 F2A85-M Pro
- A10-5700
- 16GB DDR3 1600
- OCZ Vertex 2 128GB 固态硬盘
- 2x 通用 1TB 7200 RPM 硬盘作为 RAID0(在 win7 中)
- 英特尔千兆台式机 CT
软件
- 主机操作系统:Win7(SSD)
- VMware Worksation 9(固态硬盘)
- FreeNAS 8.3 VM(SSD 上的 20GB VDisk)
- CPU:我试过1核、2核和4核。
- 虚拟化引擎,首选模式:自动
- 10,24GB 内存
- RAID0 上的 50Gb SCSI VDisk,VDisk 格式化为 ZFS 并通过 FreeNAS 通过 CIFS 公开。
- NIC Bridge,复制物理网络状态
下面是我将一个文件传输到 CIFS 共享时的两个典型过程打印输出。
last pid: 2707; load averages: 0.60, 0.43, 0.24 up 0+00:07:05 00:34:26
32 processes: 2 running, 30 sleeping
Mem: 101M Active, 53M Inact, 1620M Wired, 2188K Cache, 149M Buf, 8117M Free
Swap: 4096M Total, 4096M Free
PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
2640 root 1 102 0 50164K 10364K RUN 0:25 25.98% smbd
1897 root 6 44 0 168M 74808K uwait 0:02 0.00% python
last pid: 2746; load averages: 0.93, 0.60, 0.33 up 0+00:08:53 00:36:14
33 processes: 2 running, 31 sleeping
Mem: 101M Active, 53M Inact, 4722M Wired, 2188K Cache, 152M Buf, 5015M Free
Swap: 4096M Total, 4096M Free
PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
2640 root 1 76 0 50164K 10364K RUN 0:52 16.99% smbd
1897 root 6 44 0 168M 74816K uwait 0:02 0.00% python
如果我的问题表述不正确,我很抱歉,我真的不擅长这类事情,这是我第一次在 SU 上发帖。我也很感激您对我可能遗漏的某些内容提出的任何其他建议。
答案1
瓶颈可能有几个方面:
- VM 和数据存储在同一个 SSD 中
- 在桥接模式下 -> 路由器也可能是瓶颈
检查这些链接: