0
我设计的服务器用于以下情形:的Linux:需要设计预取缓存文件从NAS到系统内存
- 一系列单个图像的存储在NAS,可以说100他们
- 一个客户端连接到服务器通过TCP套接字,并请image39
- 服务器从NAS读取image39并在插座
- 很可能是客户端也将请求其他图片来自系列中,因此发回给客户端:
- 我想启动一个线程,通过图像迭代,读取它们,并做了
cat image39 > /dev/null
强制缓存到内存中的服务器 - 线程将如下获取图像:image38,image40,image37,image41等
- 获取已影像被忽略
- 如果客户现在要求image77,我想重置取线程获取:image76,image78等
这有可能扩展到许多系列和客户端。大概在1000个并发的 预取的顺序。我知道如果线程太多,线程可能会导致性能下降。换一个新的流程会更好吗?有没有比线程或进程更有效的方法?
谢谢!
谢谢,约翰。但是,我*需要这种优化。没有它,客户端每次请求映像时,NAS读取都会增加延迟。增加预取可以消除这种延迟,但代价很复杂。 – Jacko 2011-05-16 10:57:30
哦。你说你正在设计一个服务器,我认为这是一个相当新的项目。如果您确定需要这样的优化,我的两个建议是制定一些基准来展示当前的性能,然后尝试在固态驱动器(SSD)上运行它。 – 2011-05-17 01:52:06