加入收藏 | 设为首页 | 会员中心 | 我要投稿 十堰站长网 (https://www.0719zz.com/)- 混合云存储、网络、视频终端、云计算、媒体处理!
当前位置: 首页 > 运营中心 > Nginx > 正文

linux C 使用nginx提供1GB文件的最佳文件系统,在适度写入,读取性能方面?

发布时间:2023-12-19 04:29:48 所属栏目:Nginx 来源:DaWei
导读: 我将构建大型文件服务器,并需要文件系统选择(linux)的堆栈溢出社区建议.
文件服务器将通过Nginx提供1-2GB大小的静态文件(大多数不同于每个请求),在不断适度写入磁盘(大量RAID5 SATA / 7200磁

我将构建大型文件服务器,并需要文件系统选择(linux)的堆栈溢出社区建议.

文件服务器将通过Nginx提供1-2GB大小的静态文件(大多数不同于每个请求),在不断适度写入磁盘(大量RAID5 SATA / 7200磁盘)下.写入读取比约为1:5-10,对于每秒写入的每1字节,读取5-10.
对我来说最重要的是读取性能,我可以忍受较慢的写入.

什么Linux文件系统是这项任务的最佳解决方案?为什么:)谢谢! 最佳答案 我为每个“真实”磁盘(主轴)实现了80MB / s的“随机读取”性能.
以下是我的发现.

因此,首先要确定向用户推送需要多少流量以及每台服务器需要多少存储空间.

由于您已经安装了RAID5,因此可以跳过下面给出的磁盘设置建议.

Lets take an example of a dedicated 1Gbps bandwidth server with 3 * 2TB disks.
Keep first disk dedicated to OS and tmp. For other 2 disks you may create a software raid (For me,it worked better than on-board hardware raid). Else,you need to divide your files equally on independent disks. Idea is to keep both disk share read/write load equally. Software raid-0 is best option.

Nginx Conf
使用nginx有两种方法可以实现高水平的性能.

>使用directio

aio on;
directio 512;
output_buffers 1 8m;

“这个选项需要你有大量的公羊”
需要大约12-16GB的内存.
> userland io

output_buffers 1 2m;

“确保已将预读设置为4-6MB以进行软件raid安装”
blockdev –setra 4096 / dev / md0(或独立磁盘安装)

此设置将最佳地使用系统文件缓存,并且需要更少的内存.
需要大约8GB的内存.

常见说明:

>保持“sendfile off;”

you may also like to use bandwidth throttle to enable 100s of connections over available bandwidth. Each download connection will use 4MB of active ram.

limit_rate_after 2m; limit_rate 100k;

以上两种解决方案都可以轻松扩展到3个磁盘服务器上的1k并发用户.
假设您有1Gbps带宽,并且每个连接都以1Mb / ps的速率进行限制
需要额外的设置来优化磁盘写入而不会影响读取.

将所有上传到mount上的主os磁盘上说/ tmpuploads.这将确保在重读时不会出现间歇性干扰.然后使用带有oflag = direct的“dd”命令从/ tmpuploads移动文件.就像是

dd if=/tmpuploads/

(编辑:十堰站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章