我正在运行带有 raid0 设置的 Ubuntu Lucid
- 英特尔至强 X3440 - 4x (2x 2.9GHz)
- 16GB 内存
我在我的 /home(raid 所在的位置)中有一个 1.9TB 的 truecrypt7.0 文件容器,其中有 AES。
当使用 wget 等不同方式测试网络性能时,它似乎能够在前 10-20 秒内顺利地写入/读取磁盘。我注意到下载突然停止了 2-3 秒,然后继续。
- 从 truecrypt 卷上传和下载会使 ul/dl 暂停 2-3 秒,然后继续
- 从 tryecrypt 卷上传和下载和下载至常规非加密文件夹,停止所有下载,包括常规下载
- 使用非 truecrypt 卷(如 /root)上传和下载不会停止,一切顺利
- 上传/下载速度越快,暂停似乎就越频繁
我用 htop 监控了 CPU 使用率是否过高,但通常只有 1-3 个内核有负载。当下载突然停止时,CPU 使用率不会意外爆发。查看 iostat 时,我只看到每隔 2-3 秒就出现一次写入突发 - 假设这是由于缓存导致的,但我看不出这与下载/上传暂停有直接关系
在从非 truecrypt 挂载下载/上传时,我无法重现相同的错误,这使我相信在读取/写入 truecrypt 文件卷时发生了一些事情。
我不确定如何进一步排除故障,或者是否可以进行调整以使其运行得更顺畅。如果您能给我任何提示/帮助,我将不胜感激。
谢谢
答案1
我建议 dstat -cf 的更新率为一秒或更短,以便您可以获得在 1-3 秒暂停内查看所需的分辨率。
您正在寻找的是使用率达到 100% 或更高的单个 CPU。通常不可能并行加密以利用多个处理器。这意味着您可以将信息写入磁盘的最大速率是单个处理器可以加密的速率。
如果您看到在整个写入/下载过程中单个 CPU 一直处于固定状态,而写入/下载完成后,它在部分时间处于空闲状态,那么我会认为这可能是问题所在。
注意:当我说“单个 CPU”时,我的意思是“一次一个 CPU”,而不是单个特定的 CPU。操作系统通常会出于某种原因将某个进程(如磁盘加密)从一个 CPU 移动到另一个 CPU。这是正常的,除非这些移动与下载暂停特别吻合,否则应忽略。
您还可以进行测试,在未加密的磁盘上找到一个大文件(至少是 RAM 的 2 倍),然后查看将其写入未加密磁盘和加密磁盘的速度。同时观察 CPU 性能。这将为您提供验证,并可能让您了解可以从系统中获得的总加密带宽是多少。
如果您没有发现 CPU 是瓶颈,请尝试 dstat -af 来显示 dstat 可以测量的大多数内容的统计数据。您正在其他统计数据中寻找类似的模式来查找瓶颈,类似的测试可能会有所帮助。