Hi, I'm not sure what "b130" means, I'm fairly new to OpenSolaris. How do I find out? As for the OS version, it is OpenSolaris 2009.06.
Regards, -- Saso Richard Elling wrote: > On Dec 25, 2009, at 9:57 AM, Saso Kiselkov wrote: > > I've started porting a video streaming application to opensolaris on > ZFS, and am hitting some pretty weird performance issues. The thing I'm > trying to do is run 77 concurrent video capture processes (roughly > 430Mbit/s in total) all writing into separate files on a 12TB J4200 > storage array. The disks in the array are arranged into a single RAID-0 > ZFS volume (though I've tried different RAID levels, none helped). CPU > performance is not an issue (barely hitting 35% utilization on a single > CPU quad-core X2250). I/O bottlenecks can also be ruled out, since the > storage array's sequential write performance is around 600MB/s. > > The problem is the bursty behavior of ZFS writes. All the capture > processes do, in essence is poll() on a socket and then read() and > write() any available data from it to a file. > > > There have been some changes recently, including one in b130 that > > might apply to this workload. What version of the OS are you running? > > If not b130, try b130. > > -- richard > > The poll() call is done > with a timeout of 250ms, expecting that if no data arrives within 0.25 > seconds, the input is dead and recording stops (I tried increasing this > value, but the problem still arises, although not as frequently). When > ZFS decides that it wants to commit a transaction group to disk (every > 30 seconds), the system stalls for a short amount of time and depending > on the number capture of processes currently running, the poll() call > (which usually blocks for 1-2ms), takes on the order of hundreds of ms, > sometimes even longer. I figured that I might be able to resolve this by > lowering the txg timeout to something like 1-2 seconds (I need ZFS to > write as soon as data arrives, since it will likely never be > overwritten), but I couldn't find any tunable parameter for it anywhere > on the net. On FreeBSD, I think this can be done via the > vfs.zfs.txg_timeout sysctl. A glimpse into the source at > http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/fs/zfs/txg.c > on line 40 made me worry that somebody maybe hard-coded this value into > the kernel, in which case I'd be pretty much screwed in opensolaris. > > Any help would be greatly appreciated. > > Regards, _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss