w********r 发帖数: 1971 | 1 有一个程序,对缓存数据写入文件速度要求比较高,要求一秒内把300m缓存二进制数据
写入文件,目前需要6-8秒完成,求指点如何完成,操作系统xp,4g 内存,xeron cpu,
7200转 硬盘. | k**********g 发帖数: 989 | 2 First, don't use XP.
http://stackoverflow.com/questions/3275136/information-sought-o
See first comment post.
http://support.microsoft.com/kb/815227
When you UnmapViewOfFile very large amounts of RAM on XP, the whole system (
every process) will pause to let dirty data dumped to the disk. Despite what
the KB says, newer XP SP do not "completely" resolve the issue, just enough
fine-tuning for typical customers. Your use cases are not typical.
If whole system pausing is not your cup of tea, you must choose a newer OS
version. | w********r 发帖数: 1971 | 3 谢谢,也觉得xp不是太合适,但是客户机器的一大堆其他的驱动程序都是xp环境的,没
有办法
,如果xp下有什么好方法吗?
(
what
enough
【在 k**********g 的大作中提到】 : First, don't use XP. : http://stackoverflow.com/questions/3275136/information-sought-o : See first comment post. : http://support.microsoft.com/kb/815227 : When you UnmapViewOfFile very large amounts of RAM on XP, the whole system ( : every process) will pause to let dirty data dumped to the disk. Despite what : the KB says, newer XP SP do not "completely" resolve the issue, just enough : fine-tuning for typical customers. Your use cases are not typical. : If whole system pausing is not your cup of tea, you must choose a newer OS : version.
| r******e 发帖数: 617 | 4 1秒中写入300MB的顺序文件的话,可以考虑使用SSD。如果没有SSD而且一次只需要写入
1个大文件的话,设置500MB的内存盘一个,写一个后台程序将文件转移到硬盘上。如果
连续写入300MB大文件的话,那还是得考虑SSD。 | k**********g 发帖数: 989 | 5
There isn't even a drive on the market (Harddisk, SSD or hybrid) with single
device steady state write 300MBytes per seconds.
Hardware RAID + SSD, custom programming (completely bypass the OS file
system); or custom interface card to SAN.
Solutions that "seem to work" in the first few seconds (or minutes) may fail
when the steady state is reached, i.e. when the device is full.
哥找的不是答案,哥找的是麻烦
【在 r******e 的大作中提到】 : 1秒中写入300MB的顺序文件的话,可以考虑使用SSD。如果没有SSD而且一次只需要写入 : 1个大文件的话,设置500MB的内存盘一个,写一个后台程序将文件转移到硬盘上。如果 : 连续写入300MB大文件的话,那还是得考虑SSD。
| p*****d 发帖数: 81 | 6 首先我的经验是在win7上,也许xp上并不适用,仅供你参考。
* hardware: If my memory serves me, there were some SSDs "claiming" to have
sustained rate >300MB/s last year. You can compare the claimed speeds at: http://www.newegg.com/Store/SubCategory.aspx?SubCategory=636
For us, we want 1.1GB/s so single disk is not an option and we have to use
raid.
If you want to use rotational disks, you definitely need raid.
Try windows's software raid first. If it doesn't work for you, you can use
hardware raid or hardware+software raid (raid of raid).
* software: I remember the write speed is capped at 375MB/s when using
fwrite() or c++ ofstream etc w/ our system. To go beyond that, you will need
to use windows unbuffered I/O. Please see:
http://msdn.microsoft.com/en-us/library/windows/desktop/cc64495
http://stackoverflow.com/questions/701180/is-there-an-un-buffer
Good Luck! | w********r 发帖数: 1971 | 7 thank you
have
use
use
need
【在 p*****d 的大作中提到】 : 首先我的经验是在win7上,也许xp上并不适用,仅供你参考。 : * hardware: If my memory serves me, there were some SSDs "claiming" to have : sustained rate >300MB/s last year. You can compare the claimed speeds at: http://www.newegg.com/Store/SubCategory.aspx?SubCategory=636 : For us, we want 1.1GB/s so single disk is not an option and we have to use : raid. : If you want to use rotational disks, you definitely need raid. : Try windows's software raid first. If it doesn't work for you, you can use : hardware raid or hardware+software raid (raid of raid). : * software: I remember the write speed is capped at 375MB/s when using : fwrite() or c++ ofstream etc w/ our system. To go beyond that, you will need
| x*******1 发帖数: 28835 | | k**********g 发帖数: 989 | 9 Thanks, I learned a lot from your answer.
have
use
use
need
【在 p*****d 的大作中提到】 : 首先我的经验是在win7上,也许xp上并不适用,仅供你参考。 : * hardware: If my memory serves me, there were some SSDs "claiming" to have : sustained rate >300MB/s last year. You can compare the claimed speeds at: http://www.newegg.com/Store/SubCategory.aspx?SubCategory=636 : For us, we want 1.1GB/s so single disk is not an option and we have to use : raid. : If you want to use rotational disks, you definitely need raid. : Try windows's software raid first. If it doesn't work for you, you can use : hardware raid or hardware+software raid (raid of raid). : * software: I remember the write speed is capped at 375MB/s when using : fwrite() or c++ ofstream etc w/ our system. To go beyond that, you will need
| k**********g 发帖数: 989 | 10 This post may also be relevant.
http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/
When an application uses unbuffered IO, it is essentially dealing with DMA
directly. This may cause issues (interrupt latency, skipped data) with the
other devices on the computer.
So, when start using DMA, check out the documentations for both the disk (or
RAID controller) as well as the data capturing device. | c*****m 发帖数: 1160 | 11
cpu,
异步存储。用G网络传到另一台电脑,你这边就可以claim成功返回了。那边的存储电脑
可以是高性能的系统(不要XP)
【在 w********r 的大作中提到】 : 有一个程序,对缓存数据写入文件速度要求比较高,要求一秒内把300m缓存二进制数据 : 写入文件,目前需要6-8秒完成,求指点如何完成,操作系统xp,4g 内存,xeron cpu, : 7200转 硬盘.
|
|