本发明涉及数据读取技术领域,更具体的说是涉及一种基于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系统小文件预读功能的可靠性测试方法与流程相关推荐

  1. linux 网络监控 邮件,一种基于Linux的邮件监控方法与流程

    本发明涉及计算机安全技术领域,具体地说是一种实用性强.基于Linux的邮件监控方法. 背景技术: 随着计算机的普及以及人们对个人信息安全的重视,如何保障计算机乃至个人信息的安全成为了一个至关重要的问题 ...

  2. linux 目录防篡改,一种基于Linux虚拟文件系统的防篡改方法及系统的制作方法

    一种基于Linux虚拟文件系统的防篡改方法及系统的制作方法 [技术领域] [0001]本发明涉及文件防护技术领域,特别涉及一种基于Linux虚拟文件系统的防篡改方法及系统. [背景技术] [0002] ...

  3. linux 修改bios信息,一种基于Linux系统通过IPMI工具修改BIOS选项的测试方法及系统_2017103901253_权利要求书_专利查询_专利网_钻瓜专利网...

    1.一种基于Linux系统通过IPMI工具修改BIOS选项的测试方法,其特征在于: 步骤101,启用IPMI服务: 步骤102,BIOS Setup选项使能设置: 步骤103,修改BIOS选项当前值与 ...

  4. android 获取hdmi数据格式,一种基于Android系统HDMI同显时节省带宽的方法与流程

    本发明涉及一种基于Android系统HDMI同显时节省带宽的方法,属于计算机领域. 背景技术: 通常很多移动设备都配备了小尺寸的LCD屏幕,有些使用场景为了能提供更好的交互控制操作,需要移动设备在大尺 ...

  5. linux文件中链接文件系统,一种基于Linux文件系统文件链接的缓存LRU方法

    一种基于Linux文件系统文件链接的缓存LRU方法 [技术领域] [0001]本发明涉及信息技术领域,特别是涉及一种基于Linux文件系统文件链接的缓存LRU方法. [背景技术] [0002]目前,随 ...

  6. linux测试自动化,一种基于Linux系统下自动化测试RoCE性能的方法及系统与流程

    本发明涉及自动化测试的技术领域,特别涉及一种基于Linux系统下自动化测试roce性能的方法及其系统. 背景技术: 现在迅速发展的服务器行业,对网络服务性能提出了越来越高的要求.特别是在互联网行业以及 ...

  7. Linux断点方法,一种基于Linux问题断点的定位方法及系统与流程

    本发明属于Linux断点解决技术领域,涉及一种基于Linux问题断点的定位方法及系统. 背景技术: 在Linux的日常测试过程中,经常会遇见一些未知的原因下系统启动过程中突然出现的宕机,黑屏等现象.导 ...

  8. 怎样实现linux的网络通信协议是,一种基于Linux系统的TCP/IP协议栈的实现

    一种基于Linux系统的TCP/IP协议栈的实现 本文分析了Linux内核TCP/IP协议栈的实现,给出了Linux网络数据处理流程,探讨了Linux的I (本文共3页) 阅读全文>> 介 ...

  9. linux网卡握手速率模式,一种基于Linux平台下的网卡速率和双工模式测试的方法与流程...

    本发明涉及计算机技术领域,更具体的说是涉及一种基于Linux平台下的网卡速率和双工模式测试的方法. 背景技术: 随着社会经济的发展和互联网技术的进步,如今把计算机网络使得我们的生活变得更加方便,快捷. ...

  10. linux 认证 转发,一种基于Linux系统实现路由器的portal认证报文转发方法和装置

    主权项: 1.一种基于Linux系统实现路由器的portal认证报文转发方法,其特征在于,在Linux系统上创建虚拟网卡,为虚拟网卡配置环回口IP地址,配置portal进程监听环回口的TCP协议预设端 ...

最新文章

  1. 《智能数据时代:企业大数据战略与实战》一3.5 步步为营
  2. JavaScript_AMD规范
  3. Java 多线程(三) 线程的生命周期及优先级
  4. maven 多项目搭建
  5. POJ1661 Help Jimmy(dp)
  6. ht1621b和单片机电平匹配_有备无患,单片机面试问题集
  7. JSK-134 求出现次数最多的字符【入门】
  8. sql连接本地数据库
  9. jsp中嵌入java代码实例,jsp中嵌入java代码
  10. ysoserial exploit/JRMPListener原理剖析
  11. 43大学计算机,加州大学戴维斯分校计算机科学排名第43(2020年TFE美国排名)
  12. (OK) dnf - Fedora23——删除多余不用的内核
  13. LeetCode-分数排名
  14. 32怎么通过一个按键实现不同工作模式_游戏工作室防封IP,免费领!!!魔兽世界怀旧版独享IP免费送...
  15. Java job interview:WinForm界面特效设计案例导航图分享
  16. 【安全资讯】全球上市公司财报中“网络安全”的提及次数出现显著增长
  17. AAC(高级音频编码)帧格式及编码介绍
  18. 到底人工智能前景好不 首选哪个开发语言好
  19. 港澳联考数学可以用计算机吗,2017年港澳台联考数学试卷.doc
  20. 在树莓派和Ubuntu上使用LimeSDR

热门文章

  1. Android setOnPageChangeListener 过时解决
  2. JSP解决 — 登录注册界面点击按钮无法获取值在界面显示
  3. 护网杯 task_shoppingCart 记录
  4. Python操作SQLServer示例
  5. Java 核心技术点之注解
  6. (转)如何用PHP/MySQL为 iOS App 写一个简单的web服务器(译) PART1
  7. shell 函数和数组
  8. ajax音乐网站,AJAX在线音乐网站(5)测试
  9. 按之字形顺序打印二叉树(C++)
  10. Security+ 学习笔记40 网络安全设备