1)检查你的磁盘的扇区大小。
2)确保磁盘被整理。
3)为了提高缓存局部性(缓存由操作系统执行,许多硬盘也有内置缓存),读取“本地”数据。
4)连续写入数据。
对于写入性能,缓存内存中的数据块直到达到扇区大小的倍数,然后启动异步写入磁盘。不要覆盖当前正在写入的数据,直到确定数据已被写入(即同步写入)。双缓冲或三重缓冲可以在这里帮助。
为了获得最佳读取性能,您可以双重读取缓冲区。因此,让我们说你在读取时缓存16K块。将第一个16K从磁盘读入块1.启动对块2中的第二个16K的异步读取。开始工作块1.当完成块1同步时,读取块2,并开始异步读取到块1中第3个16K块放入块1.现在在块2上工作。完成第3个16K块的读取同步后,启动第4个16K的异步读入块2,并在块1上工作。冲洗并重复,直到处理完所有数据。
如前所述,你必须阅读的时间就越少会失去从磁盘读取,因此很可能是值得一读的压缩数据和花费的CPU时间扩大读上每个块的数据就越少。在写入之前同等压缩块会节省磁盘时间。无论这是否胜利,取决于您对数据处理的CPU密集程度。
此外,如果在块的处理是不对称的(即处理块1能够采取的3倍,只要处理块2)然后考虑三重或多种缓冲剂进行读取。
来源
2011-01-25 15:06:20
Goz
数据保存在缓存和写尽可能少,它太慢了。 – BlackBear 2011-01-25 14:57:01