Video 大文件IO的优化设计
假设有一个程序运行在Linux服务器上,它读取磁盘上的一个大文件(例如)一个原始视频,并根据一些用户输入生成输出 服务器将接收来自该程序的许多请求的请求,因此文件读取在每个请求过程中都是重复的 有没有一种方法可以跨请求进行一些优化?系统看起来将被IO绑定 更具体的例子,, 系统将获取用户文本,并在示例视频的每一帧上渲染文本,然后保存到另一个输出视频。每个用户都有自己的输出视频。 示例视频是一个静态文件,只读,保存在服务器的HDD上Video 大文件IO的优化设计,video,file-io,operating-system,filesystems,hard-drive,Video,File Io,Operating System,Filesystems,Hard Drive,假设有一个程序运行在Linux服务器上,它读取磁盘上的一个大文件(例如)一个原始视频,并根据一些用户输入生成输出 服务器将接收来自该程序的许多请求的请求,因此文件读取在每个请求过程中都是重复的 有没有一种方法可以跨请求进行一些优化?系统看起来将被IO绑定 更具体的例子,, 系统将获取用户文本,并在示例视频的每一帧上渲染文本,然后保存到另一个输出视频。每个用户都有自己的输出视频。 示例视频是一个静态文件,只读,保存在服务器的HDD上 因此,如果什么也不做,所有请求(即进程)都会打开自己的文件IO并
因此,如果什么也不做,所有请求(即进程)都会打开自己的文件IO并读取巨大的原始视频。所以想知道是否有任何优化可以帮助减少磁盘带宽?内存映射文件有帮助吗?显然,这样的优化是可能的,操作系统可以实现它们。服务器使用的是CentOS/Linux。是否已经有一些已知的操作系统功能可以提供帮助?