| Technical optimizations
|
|
|
|
|
|
To prevent the streaming server from becoming I/O bound, the following things were done:
use linux syscall sendfile() to remove some memcpy() calls
create one giant file for the entire video to reduce open/close calls
made it singlethreaded instead of multithreaded
set the read size to 65536 bytes, which is the optimal read size based on the below chart and empirical testing
(note: for a full implementation, it would be preferable to use 12 servers and XRaids rather than 6, so that I/O is less likely to be a limiting factor, potentially reducing the need for some or all of these suggestions.) |
|
|
|
|
|
| All content copyright © 2006 Envision Center All rights reserved. |
|