linux 文件预读,一种基于Linux系统小文件预读功能的可靠性测试方法与流程
本发明涉及数据读取技术领域,更具体的说是涉及一种基于Linux系统小文件预读功能的可靠性测试方法。
背景技术:
Linux系统很重要的一个性能提升点就是它的Pagecache,因为内存比IO快太多了,所以大家都想尽办法来利用这个cache。文件系统也不例外,为了达到高性能,文件读取通常采用预读来预测用户的行为,把用户可能需要的数据预先读取到cache去,达到高性能的目的。
由于预读可以有效的减少磁盘的寻道次数和应用程序的I/O等待时间,是改进磁盘读I/O性能的重要优化手段之一。针对此功能的客户有很多,比如车流量检测中车辆识别拍照等,每天都会产生几百万的文件,日积月累,小文件的预读量是海量的,一旦程序崩溃,造成系统发生故障,将会对客户造成难以挽回的损失。
因此,针对小文件预读的功能。需要一种可靠性方法,用来检测该功能的可靠性和系统的稳定性。
技术实现要素:
针对以上问题,本发明的目的在于提供一种基于Linux系统小文件预读功能的可靠性测试方法,通过创建大量的小文件进行长时间的压力读写,并通过监测core目录,来检测文件预读功能的可靠性,在验证该功能的同时,还可验证整个系统的稳定性与可靠性。
本发明为实现上述目的,通过以下技术方案实现:一种基于Linux系统小文件预读功能的可靠性测试方法,包括如下步骤:
步骤1:在存储端修改配置,添加预读功能;
步骤2:重启mds(MetadataServer),重启nfs(NetworkFile System)功能;
步骤3:在客户端配置文件预读开关,并开启文件预读功能;
步骤4:重新挂载客户端;
步骤5:将客户端core文件的数量改为无限制,将core文件转存至/core目录下;
步骤6:预先填充数据,运行性能测试负载工具,写入大量小文件;
步骤7:在压力机上运行性能测试工具,执行读写操作;
步骤8:设置运行时间,并运行脚本;
步骤9:脚本运行结束后查看客户端的core目录和存储端的nfs进程,若core目录下无core文件且nfs进程存在、系统状态正常,则测试成功,文件预读功能正常。
进一步,在客户端配置文件预读开关,并开启文件预读功能之前,先在存储端创建nfs共享目录nfstest1,并将其共享给本地IP用户。
进一步,重新挂载客户端时,挂载点为/mnt/icfs/dir1。
进一步,所述性能测试负载工具为vdbench。
进一步,所述步骤6具体为:预先填充数据,运行性能测试负载工具,写入个六十万个128k的小文件。
进一步,所述步骤7具体为:在压力机上同时运行性能测试工具,对写入的小文件以16个线程,每次i/o以64k大小的数据块进行顺序读和写。
进一步,设置运行时间具体为:写操作运行时间设为3.5-4.5小时,读操作运行时间设为7.5-8.5小时。
进一步,写操作运行时间设为4小时,读操作运行时间设为8小时。
对比现有技术,本发明有益效果在于:本发明提出的一种基于Linux系统小文件预读功能的可靠性测试方法,首先在存储端修改配置,添加预读功能,并将配置同步至其他节点,重启元数据服务器。由于本专利采用nfs网络文件系统挂载,故需重启nfs功能。其次在客户端开启数据预读开关,配置后重新挂载客户端。检测core文件的生成是否收到限制,改为无限制。创建/core目录,并将./目录下所有生成的core文件均放置该目录下。预先填充数据,运行性能测试负载工具vdbench,写入六十万个128k的小文件,在压力机上同时运行性能测试工具,执行读写操作。该脚本可执行24小时以上,查看core目录下是否有core文件,用来检测文件预读功能的可靠性,查看存储端的nfs进程是否存在、系统状态是否正常,用来验证系统的稳定性。
本发明在验证小文件预读功能的同时,可验证整个系统的稳定性与可靠性,通过自动运行脚本实现,减少了工作时间,提高整体的工作效率。由于本发明适用于多种分布式文件存储场景,可用性强。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
附图1是本发明的方法流程图。
具体实施方式
下面结合附图对本发明的具体实施方式做出说明。
如图1所示的一种基于Linux系统小文件预读功能的可靠性测试方法,包括如下步骤:
步骤1:在存储端修改配置,添加预读功能;
步骤2:重启mds(Metadata Server),重启nfs(Network File System)功能;
步骤3:在客户端配置文件预读开关,并开启文件预读功能;
步骤4:重新挂载客户端;
步骤5:将客户端core文件的数量改为无限制,将core文件转存至/core目录下;
步骤6:预先填充数据,运行性能测试负载工具,写入大量小文件;
步骤7:在压力机上运行性能测试工具,执行读写操作;
步骤8:设置运行时间,并运行脚本;
步骤9:脚本运行结束后查看客户端的core目录和存储端的nfs进程,若core目录下无core文件且nfs进程存在、系统状态正常,则测试成功,文件预读功能正常。
在上述基础上,具体的程序实现方法如下:
1前置工作
1.1在存储端添加预读配置。
vi/etc/icfs/icfs.conf
client_file_readahead=true
mds_md_readahead=true
重启mds,重启nfs服务
systemctl restart icfs-mds.target
systemctl restart ganesha
1.2在存储端创建nfs共享目录nfstest1,并将其共享给本地IP用户:100.7.32.165。
mkdir/mnt/icfs/nfstest1
icfs-admin-nfs–create–p/nfstest1–a rw—
icfs-admin-nfs–create–p/nfstest1–host 100.7.32.165–arw-
1.3客户端数据中配置文件预读开关。
vi/etc/icfs/icfs.conf
client_file_readahead=true
配置后挂载客户端,挂载点为/mnt/icfs/dir1。
mkdir/mnt/icfs/dir1
mount–t nfs 100.7.40.173:/nfstest1/mnt/icfs/dir1–o ver=3
将客户端core文件的数量改为无限制,将core文件转存至/core目录下。
ulimit–c unlimited
mv/ll./|core*/core
2脚本的自动化实现
2.1预先填充数据,运行性能测试负载工具vdbench,写入个六十万个128k的小文件。系统定义设置如下:
fsd=fsd1,anchor=/mnt/icfs/dir1,depth=2,width=4,files=40000,size=128k
2.2在压力机上同时运行性能测试工具,对上述写入的小文件以16个线程,每次i/o以64k大小的数据块进行顺序读和写,负载参数设计如下:
fwd=fwd2,fsd=fsd1,operation=write,xfersize=64K,fileio=sequential,fileselect=sequential,threads=16
fwd=fwd3,fsd=fsd1,operation=read,xfersize=64K,fileio=sequential,fileselect=sequential,threads=16
2.3运行时间设定,写设置时间为4小时,读设置时间为8小时,整体脚本运行时间为设置运行参数如下:
rd=rd2,fwd=fwd2,fwdrate=max,format=no,elapsed=14400,interval=10
rd=rd3,fwd=fwd3,fwdrate=max,format=no,elapsed=28800,interval=10
2.4在客户端与存储端查看共享目录,查看nfs以及ftp客户端,同时查看core目录,如果系统运行正常,服务存在且功能正常core目录未产生core文件,则检测文件预读功能正常。
结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。
linux 文件预读,一种基于Linux系统小文件预读功能的可靠性测试方法与流程相关推荐
- linux 网络监控 邮件,一种基于Linux的邮件监控方法与流程
本发明涉及计算机安全技术领域,具体地说是一种实用性强.基于Linux的邮件监控方法. 背景技术: 随着计算机的普及以及人们对个人信息安全的重视,如何保障计算机乃至个人信息的安全成为了一个至关重要的问题 ...
- linux 目录防篡改,一种基于Linux虚拟文件系统的防篡改方法及系统的制作方法
一种基于Linux虚拟文件系统的防篡改方法及系统的制作方法 [技术领域] [0001]本发明涉及文件防护技术领域,特别涉及一种基于Linux虚拟文件系统的防篡改方法及系统. [背景技术] [0002] ...
- linux 修改bios信息,一种基于Linux系统通过IPMI工具修改BIOS选项的测试方法及系统_2017103901253_权利要求书_专利查询_专利网_钻瓜专利网...
1.一种基于Linux系统通过IPMI工具修改BIOS选项的测试方法,其特征在于: 步骤101,启用IPMI服务: 步骤102,BIOS Setup选项使能设置: 步骤103,修改BIOS选项当前值与 ...
- android 获取hdmi数据格式,一种基于Android系统HDMI同显时节省带宽的方法与流程
本发明涉及一种基于Android系统HDMI同显时节省带宽的方法,属于计算机领域. 背景技术: 通常很多移动设备都配备了小尺寸的LCD屏幕,有些使用场景为了能提供更好的交互控制操作,需要移动设备在大尺 ...
- linux文件中链接文件系统,一种基于Linux文件系统文件链接的缓存LRU方法
一种基于Linux文件系统文件链接的缓存LRU方法 [技术领域] [0001]本发明涉及信息技术领域,特别是涉及一种基于Linux文件系统文件链接的缓存LRU方法. [背景技术] [0002]目前,随 ...
- linux测试自动化,一种基于Linux系统下自动化测试RoCE性能的方法及系统与流程
本发明涉及自动化测试的技术领域,特别涉及一种基于Linux系统下自动化测试roce性能的方法及其系统. 背景技术: 现在迅速发展的服务器行业,对网络服务性能提出了越来越高的要求.特别是在互联网行业以及 ...
- Linux断点方法,一种基于Linux问题断点的定位方法及系统与流程
本发明属于Linux断点解决技术领域,涉及一种基于Linux问题断点的定位方法及系统. 背景技术: 在Linux的日常测试过程中,经常会遇见一些未知的原因下系统启动过程中突然出现的宕机,黑屏等现象.导 ...
- 怎样实现linux的网络通信协议是,一种基于Linux系统的TCP/IP协议栈的实现
一种基于Linux系统的TCP/IP协议栈的实现 本文分析了Linux内核TCP/IP协议栈的实现,给出了Linux网络数据处理流程,探讨了Linux的I (本文共3页) 阅读全文>> 介 ...
- linux网卡握手速率模式,一种基于Linux平台下的网卡速率和双工模式测试的方法与流程...
本发明涉及计算机技术领域,更具体的说是涉及一种基于Linux平台下的网卡速率和双工模式测试的方法. 背景技术: 随着社会经济的发展和互联网技术的进步,如今把计算机网络使得我们的生活变得更加方便,快捷. ...
- linux 认证 转发,一种基于Linux系统实现路由器的portal认证报文转发方法和装置
主权项: 1.一种基于Linux系统实现路由器的portal认证报文转发方法,其特征在于,在Linux系统上创建虚拟网卡,为虚拟网卡配置环回口IP地址,配置portal进程监听环回口的TCP协议预设端 ...
最新文章
- 《智能数据时代:企业大数据战略与实战》一3.5 步步为营
- JavaScript_AMD规范
- Java 多线程(三) 线程的生命周期及优先级
- maven 多项目搭建
- POJ1661 Help Jimmy(dp)
- ht1621b和单片机电平匹配_有备无患,单片机面试问题集
- JSK-134 求出现次数最多的字符【入门】
- sql连接本地数据库
- jsp中嵌入java代码实例,jsp中嵌入java代码
- ysoserial exploit/JRMPListener原理剖析
- 43大学计算机,加州大学戴维斯分校计算机科学排名第43(2020年TFE美国排名)
- (OK) dnf - Fedora23——删除多余不用的内核
- LeetCode-分数排名
- 32怎么通过一个按键实现不同工作模式_游戏工作室防封IP,免费领!!!魔兽世界怀旧版独享IP免费送...
- Java job interview:WinForm界面特效设计案例导航图分享
- 【安全资讯】全球上市公司财报中“网络安全”的提及次数出现显著增长
- AAC(高级音频编码)帧格式及编码介绍
- 到底人工智能前景好不 首选哪个开发语言好
- 港澳联考数学可以用计算机吗,2017年港澳台联考数学试卷.doc
- 在树莓派和Ubuntu上使用LimeSDR