精华内容
下载资源
问答
  • 存储性能测试漫谈

    千次阅读 2016-12-13 16:15:51
    作者:coolcoder ...身在存储行业,自然离不开存储性能测试。对于性能测试,一般有两种方法: 1. 使用业内比较认可的性能测试工具,比如IOMeter、fio、iozone等。这类工具一般是开源的,应用范围很广泛,使
    作者:coolcoder
    链接:https://zhuanlan.zhihu.com/p/20769990
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


    身在存储行业,自然离不开存储性能测试。对于性能测试,一般有两种方法:

    1. 使用业内比较认可的性能测试工具,比如IOMeter、fio、iozone等。这类工具一般是开源的,应用范围很广泛,使用它们的一个好处是可以快速和其他存储产品做横向对比。哪怕大家是在不同时间、不同地点、不同环境测试的,但只要参数设置差不多,就可以拿来简单对比(如果要做完整对比,必须放在同样的环境中测试)。不足之处是它们只能按照预定义的模式机械测试,大多数情况下无法真实反应实际应用环境的IO模式。

    2. 直接在真实的应用环境中进行性能测试。这种方法测出来的结果,针对特定的场景,具有权威的参考性。不足之处就是搭建环境可能比较麻烦,每个应用的依赖环境都不一样。即使是同样的存储设备,在不同的应用场景,其性能差异也很大。所以这种方法能反应存储产品在特定场景下的实际性能,但有时候并不能确定存储产品的普遍性能。

    使用同样的存储设备,同样的硬盘,当如下条件变化时,性能差异可能会很明显。

    1. 读和写。理论上,机械硬盘的顺序读写性能差不多。但在不同的场景,同样硬盘的读写性能是有差异的。因为写数据的时候,缓存的作用更大,所以写的性能可能更好。但如果使用RAID5,因为写数据有写惩罚,所以在其他条件相同时,读的话性能更好。SSD的读写参数天生就不一样,因为写数据会引起块擦除,所以往往读更快,尤其是随机读。

    2. 顺序IO和随机IO。对于机械硬盘,毫无疑问,顺序读写比随机读写快很多,因为顺序读写少了很多寻道时间,其速度比随机读写高出1到2个数量级。所以,传统的存储需要使用缓存算法(包括按扇区地址的排序以及预读等)来减少寻道时间,提高性能。对于SSD,顺序读写和随机读写差别不是那么大,但是顺序读写一般来说会比随机读写快。实际应用中,纯随机读写很少,即使在文件系统中拷贝大文件,也有一些相对随机的操作,比如修改元数据,跳过一些被占用的扇区等。所以,如何模拟应用程序的随机度,是一个比较头疼的问题。

    3. 块大小(block size)。如果单次IO写入的数据块比较大,比如超过了1MB,性能显然比较好。即使是机械硬盘纯随机写入1MB也如此——单个数据块往往是一次性提交给驱动的,每个块内部的数据一般也是连续的。每秒只需要少量的IO能过去,就能获得较大的带宽,因为带宽=IO大小*IO数,IO数虽然不多,但IO平均大小较大。但也有例外。如果把块大小设置成很大(比如1GB),在系统里面肯定会被拆分成较小的IO发下去,所以性能不会有进一步改善,在应用程序不够完善时反而会导致额外的问题(比如直接就给分配了1GB的内存导致内存有可能不足)。即使前面说的1MB的IO,在很多系统中,也可能会被拆分成2个或者几个IO发下去。如果是顺序读写,4KB的小IO,在操作系统内部也可能会被合并成大的IO,所以这种情况下,性能不会太差,但合并IO等步骤本身需要消耗资源,所以性能也不会太好。需要注意的是,有些时候,评判性能标准不是按读写带宽来看,而是按照每秒的IO数(IOPS)来看。显然,块大小的设置就比较难提高IOPS的值了。

    4. 缓存的影响。当读写缓存比较大时,性能显然会好一些。尤其是进行随机写测试,在写缓存比较大时,刚开始的性能值会非常大(其实就是写到内存的速度),到后来一下子降下来。因此,为了避开缓存的的影响,有时候需要测试direct IO。但在大多数应用场景下,缓存都是需要使用的,我们得了解在缓存起作用的情况下的性能,同时又要跳开刚开始测试阶段的不稳定性能值,那我们可以设置相应的时间参数,不把最开始的一段时间的性能值统计进去。IOMeter的Ramp Up Time就是为这个准备的。有人拿同样的配置测试随机读写,两次测出的值大不一样,其原因就有可能是没有把这个原因考虑进去。即使设置了Ramp Up Time,但其值太小,在缓存还没有写满的时候其时间就到了,也会统计得不准确。

    5. 同步IO和异步IO。同步IO是发一个IO,等确认完成之后,再发下一个IO。这是一个串行的过程。异步IO是发了一个IO,还没有完成,就发下一个IO,IO的处理过程是异步的。显然,异步IO的性能一般会好一些。IOMeter和fio等都能对它们进行测试。IOMeter有一个“# of Outstanding I/Os”的参数,用于设置可以同时发的异步IO的个数。如果要测试出比较好的性能,一般要用异步IO。

    6. 其他影响因子。太多了,无法一一列举。比如多线程、机械硬盘的外圈和内圈等。现在的机械硬盘内部结构很复杂,扇区的物理排布和硬盘的固件有关,但一般可以简单认为,机械硬盘的开始部分(扇区地址较小部分,或者简单认为是外圈)比结尾部分(扇区地址较大部分,或者简单认为是内圈)的速度要快。

    因为有如此多的影响性能的因素,所以,也需要测试工具要提供众多参数来进行设置,以便精准地测试性能的原因。但实际的应用场景可能更复杂,有可能一会儿是大块的顺序读写,一会儿又变得更随机。如果我们能够精准预估应用程序读写存储的模式,理论上也可以用IOMeter等工具来模拟,无非是把配置写得比较复杂而已。但有时候很难预估它的读写模式,所以采用实际的应用环境更具有性能参考意义。因为实际应用环境搭建麻烦,所以,有时候会自己写一些测试工具,尽可能模拟应用场景,然后以比较简单的模式来进行测试,可以有更高的测试效率,以便不断改进系统。

    附:

    IOMeter:使用普遍,带UI,可以测试裸设备以及带文件系统的硬盘,官网地址:Iometer project,目前最新版本是1.1.0。

    fio:功能强大,方便易用,但是纯命令行的。目前使用fio的公司和个人非常多。地址:fio – Freecode

    iozone:官网地址:Iozone Filesystem Benchmark

    (原文载于个人博客)

    展开全文
  • 存储测试1

    千次阅读 2018-03-23 08:58:53
    分布式存储产品的测试实践在分布式存储产品的测试过程中,测试到底做了些什么事情呢?一:测试工作内容需求,设计评审测试需要参与到每一个过程中在设计评审的时候就需要知道验收的标准,这是最重要的开始。因为这个...

    分布式存储产品的测试实践

    在分布式存储产品的测试过程中,测试到底做了些什么事情呢?

    一:测试工作内容

    • 需求,设计评审

      测试需要参与到每一个过程中
      在设计评审的时候就需要知道验收的标准,这是最重要的开始。因为这个时候如果没有理解用户的需求,验收标准就会跑偏。
      用户的需求是测试的基准点。

    • 测试范围

      需要确定测试范围。上线的时间都是固定的,在有限的时间内可能无法覆盖所有的测试,得指定测试范围。
      这一方面取决于测试对整个系统的了解程度,另一方面也是考验和开发沟通和交流能力。

    • 测试用例的设计与开发

      主要是根据需求编写测试工具或者测试用例代码。一些测试书籍上也介绍了一些常见的方法。这里不多讲。

    • 自动化测试框架的设计与维护

      只有自动化测试才能把人从简单,重复,繁琐的劳动中解放出来。
      引入持续集成机制,及时发现代码中存在的问题。

    • 测试对象确定

      主要是确定需要测试的版本,以保证最后上线的版本就是测试的版本。

    • 测试实施及反馈

      完成测试计划,编写测试报告,在Bug跟踪系统上记录测试中发现的问题。
      搜集这些结果给项目经理做质量评估。虽然不全面,但也是重要参考。
      统计测试结果,分析。
      统计测试覆盖率,跟踪未覆盖到的地方。
      这里需要说明的是,测试覆盖率达标了,不意味着测试达标了,只是表示所有的代码都覆盖到了。还需要人工分析测试的完备性。

    • 上线确认及写发布备忘录

      上线版本及配置文件的最终确认。将所有上线的功能以邮件的形式通知给合作伙伴。

    • 上线问题跟踪及反馈

      后期线上问题的反馈与追踪,以避免在下个版本中出现同样的问题。

    分布式存储产品的开发和测试是个庞大的工程,所涉及到的测试需要分类及分级。为此,引入了测试分级的概念。

    二:测试的分级

    测试分级测试资源测试目的测试频率
    一级:单元测试单机完成不需要依赖其他环境,完成代码函数级别的测试。会采取一些Mock手段去掉对环境的依赖每次提交代码
    二级:功能测试小集群模拟真实场景,完成功能级别的测试。对其他模块有依赖每次提交代码
    三级:系统测试小集群模拟真实场景,完成系统级别的测试,是功能的组合。对其他模块有依赖每次提交代码
    四级:一级性能测试中型集群模拟真实场景,完成性能测试。主要关注Latency,QPS,毛刺率,吞吐量等指标。对其他环境有依赖每次发布
    五级:二级性能测试中型集群模拟真实场景,完成压力测试,健壮性测试(Failover测试)。主要关注CPU,内存,网络等资源耗尽或者不可用的情况下,系统的表现每次发布
    六级:数据兼容性及升级测试小集群模拟真实场景,完成存储及上线发布相关测试。每次发布
    七级:端到端模拟用户场景测试大集群模拟用户的场景,获得测试数据每次发布

    这个分级的目的主要是为了:

    • 分工

      开发需要负责单元测试和功能测试都通过,
      才表示代码可测了。才能走到后面的测试流程。

    • 在紧急上线的时候,有所取舍

      不同的级别意味着不同的测试时间,一次单元测试和一次性能测试的时间是不一样的。一级和二级是必须要全通过。往上的级别可以有选择性地通过。

    • 测试资源的分配

    三:测试用例类型

    分布式存储产品的特点:

    • 1 存储海量的数据,不同类型
    • 2 集群中机器的损坏是常态
    • 3 海量的用户访问

    所以在设计测试用的时候根据分布式存储产品的特点设计了如下的测试用例:

    • 数据兼容性测试

      代码一直在变,会有不同的数据类型出现,如何保证数据兼容性?
      一般来说都需要考虑新旧版本写入数据的兼容性。
      实践中可以每天模拟用户写入不同大小,不同类型的文件,在每次升级之前预发布,来校验这些数据。以做到数据兼容测试。
      开发也会在UT中包含这部分内容。只不过是在不同的级别来测试这一点。

    • 数据完整性测试

      作为分布式存储产品,用户的数据是不能丢的。这点是做存储的底裤。
      在实践中会每天扫描新增的数据以检查数据的完整性。
      定期还会做全量数据扫描。

    • 性能测试

      每次版本发布的时候,我们需要知道这个版本和上一个版本相比,性能是否有提升。这个也是用户比较能直观感受到的。
      性能测试是一个比较复杂的话题,这里不展开。
      性能测试和测试的客户端,使用的代码,请求的类型,集群数据的多少都有关系。实践中是选定差不多的测试环境,进行对比,以减少多个测试变量对性能结果带来的影响。

    • 压力测试

      模拟网络,磁盘,CPU等资源消耗完,测试系统的表现能力。对系统设定报警阈值。一旦超过这个能力,系统开始报警。也可以供运维同学参考集群的负载能力。

    • 稳定性测试

      测试系统在长期运行下,观察内存,网络,CPU资源消耗的情况。常见的问题就是内存泄露,如果每次泄露一点,短时间测试是无法发现问题的。所以一般要求系统能连续运行7天以上。

    • 安全测试

      慢连接攻击测试
      大并发模拟攻击测试
      其他攻击模拟

    • 系统健壮性测试

      也指Failover测试,实践中也是分层的思想
      先分模块:
      模拟系统各个模块失效的情况。例如进程重启,进程不再启动等。
      再分机器:
      对于分布式系统来说,机器资源出现状况简直是一定的,例如CPU不够用,内存超了,网卡无法使用,磁盘损坏,机器断电等情况。自动化测试可以通过软件来模拟这些情况。
      在实际上线的时候,还是需要做一些模拟故障演练。例如:一台或者多台机器出现断电。
      再分集群:
      整个集群掉电后重启,数据是否丢失。
      不可服务的时间,重启后多久恢复服务。
      集群中交换机不可用。这些测试还得依赖于运维工程师的合作。

    四:测试工具

    工欲善其事必先利其器,测试工具的选择也很重要。
    在我们实践的过程中没有采用商业软件,大多数也没有现成工具,大多是通过工程实践摸索,开发而来。

    工具目的
    集群监控状态收集与自检工具用于测试过程中收集监控数据和自动判断是否异常以帮助测试及早发现问题
    bug、case的报表分析工具用于通过从bug或case的多个维度来判断当前产品的质量风险点
    测试结果报表分析工具将测试结果用于比较和分析,方便性能问题的调查
    性能压力测试工具该功能能够模拟用户的请求压力,请求类型,方便地获取性能数据
    系统测试框架该工具能够很好地定制测试需求,完成测试任务,发出测试报告,提交测试结果
    pre-check-in工具该工具能够确保代码在提交前能够自动跑通相关测试集合
    代码覆盖率报表分析工具代码覆盖率报告分析工具,能够方便给出覆盖率不足的各组件代码
    静态代码检查工具能够确保代码在提交前能够跑通静态代码检查并提供报表功能
    协议层、工具层的覆盖率检查工具能够对组件的协议层和工具命令层进行覆盖率检查,来保证测试的覆盖面

    五:做好灰度发布

    即使在做了如此多测试的情况下,还是可能会有漏网之鱼。怎么办?
    在实践中,我觉得比较行之有效的方法是做好灰度发布。
    这里说的灰度发布指的是,发布的时候只发布一部分机器,观察。没有问题,再逐步分批次发布,直至最终全部上线。

    做好灰度发布的前提:

    • 1 系统是有兼容性的

      也就是说,整个系统应该是能够兼容新旧版本同时存在,且不会相互影响。
      如果新版本写入的旧版本不能读,那么需要发布到中间的兼容版本。

    • 2 要有好的监控工具

      机器资源的可视化与监控。例如CPU,内存,网络等是否正常
      各层模块的可用性指标可视化与监控。例如成功率,队列长度,健康度等是否正常
      关键业务数据指标的可视化与监控。请求的正确率,性能,QPS等业务指标等是否正常
      引入大数据工具对每天的访问请求进行分析,得到真正的业务请求。
      做好实时监控,以确定系统的稳定性

    • 3 有责任心的工程师

      一个有责任心的工程师会在发布以后去关注功能是否如期工作,那些日志是否正常,线上机器,业务是否都运转正常。

    六:做好上线后的跟踪回顾

    如果上线后有漏网之鱼,应该及时地发现,并在缺陷系统中跟踪,直至修复上线,并且在测试用例中覆盖。以避免重复的错误出现。

    七:产品质量的保障

    如何保障产品发布的质量是一个很大的话题。
    总结自己在产品中的方法有:

    • 1 静态代码扫描
    • 2 测试覆盖率
    • 3 代码及测试评审
    • 4 执行好测试
    • 5 灰度发布
    • 6 发布总结,增加测试覆盖,形成良好的闭环。

    测试实践中碰到的问题

    在具体的测试实践中,还是碰到了很多问题。

    • 1 测试用例不稳定

      由于测试不稳定,导致测试经常失败。大家都失败有时候都熟视无睹了。典型的破窗原理。

    • 2 测试环境的问题

      单一的环境无法满足几个层级的测试需求,但测试资源有时候是有限的。需要做好规划。

    • 3 测试效率的问题

      由于产品功能的不断叠加,回归的集合原来越庞大,越来越复杂。回归一次的时间变得越来越长。需要重构测试用例。

    • 4 多个版本同时发布的问题

      由于产品在发布的时候可能会有多个分支在回归,比如正在开发的代码分支,线上需要修复的代码分支。
      但回归效率不高,只能排队等待。还是需要提高测试效率。减少回归的时间

    • 5 测试调查问题困难

      测试用例的要求没有开发代码要求高,测试框架中对日志支持不够友好,都造成了调查问题困难。需要改进日志。

    我们还是需要做很多工作,让测试更快,更有效地发生。

    一点心得

    有几点感受吧:

    • 1 人靠谱了,事才靠谱

      知道了和做到了之间还差十万八千里。
      用韩寒的话说就是:我懂得了许多道理,却依然过不好这一生。
      用成语说就是:知易行难。
      但靠谱的人总是能在各种不靠谱的环境下,把事情做靠谱。

    • 2 质量不是仅靠测试工程师来保障

      好的测试工程师就像优秀的守门员,时刻预防着Bug的进攻,守住质量这扇门。
      但再好的守门员没有前锋,后卫的团队配合,单枪匹马也无法阻止Bug的进攻。
      质量贯穿在每一次评审,代码Review,单元测试,上线观察,灰度发布中等环节中。只有每一个环节都做到位,才会有好的质量。
      质量是需要开发,测试,运维一起保障的。

    • 3 质量很重要

      没有质量的代码上线就是运维噩梦的开始。
      它可能伴随着半夜报警,连夜修复,通宵紧急发布。

    • 4 要引入全员评审

      尽可能多的眼睛,就可以让所有的问题浮现。每个人的视角不一样,就像是手术台上的无影灯一样,从各个角度照射下去,Bug就无所遁形。
      每个人的思想在碰撞,也许别人的一句提醒或者一个问题,就可以发现自己的视野盲区。

    展开全文
  • plsql 存储过程 测试

    千次阅读 2018-08-14 10:09:00
    plsql 存储过程 测试 CreationTime--2018年8月14日09点54分 Author:Marydon 1.找到要运行的存储过程-->选中-->右键-->测试   2.入参赋值   3.测试  方式一:直接运行  点击窗口...
     

    plsql 存储过程 测试

    CreationTime--2018年8月14日09点54分

    Author:Marydon

    1.找到要运行的存储过程-->选中-->右键-->测试

     

    2.入参赋值

     

    3.测试

      方式一:直接运行

      点击窗口左上角运行按钮即可。

      方式二:调式模式

      可以一步一步进行调试(下图第一个蓝方块)

      点击左上角-->开始调试器-->运行

    4.查看输出结果

     

      游标的话,点击右侧的...查看输出结果详情

     

     
    展开全文
  • 问题如何创建SQL数据库以及表结构以用来保存测试用例的输入数据和测试结果。设计编写T-SQL脚本,创建一个数据库然后创建一些表用来保存测试用例的输入数据和测试结果。如果想通过SQL认证的方式连接到上一步创建的...

    问题
    如何创建SQL数据库以及表结构以用来保存测试用例的输入数据和测试结果。

    设计
    编写T-SQL脚本,创建一个数据库然后创建一些表用来保存测试用例的输入数据和测试结果。如果想通过SQL认证的方式连接到上一步创建的数据库,请创建一个专用的SQL登录账号。然后在查询分析器里或者通过osql.exe运行T-SQL脚本。

    方案
    --makeDbTestCasesAndResults.sql
    use master
    go

    if exists(select * from sysdatabases where name = 'dbTestCasesAndResults')
     drop database dbTestCasesAndResults
    go

    if exists(select * from sysxlogins where name = 'testLogin')
     exec sp_droplogin 'testLogin'
    go

    create database dbTestCasesAndResults
    go

    use dbTestCasesAndResults
    go

    create table tblTestCases
    (
    caseID char(4) primary key,
    input char(3) not null,--an empID
    expected int not null
    )
    go

    --下面插入的是用于usp_StatusCode的测试用例数据
    --也可以通过BCP、DTS,或者C#程序从文本文件读入

    insert into tblTestCases values ('0001','e11',77)
    insert into tblTestCases values ('0002','e22',77)--should be 66
    insert into tblTestCases values ('0003','e33',99)
    insert into tblTestCases values ('0004','e44',88)
    go

    create table tblResults
    (
    caseID char(4) not null,
    result char(4) null,
    whenRun datetime not null
    )
    go

    exec sp_addlogin 'testLogin','secret'
    go

    exec sp_grantdbaccess 'testLogin'
    go

    grant select,insert,delete on tblTestCases to testLogin
    go

    grant select,insert on tblResults to testLogin
    go

    第一步设定当前使用的数据库为SQL Server的主数据库(master database)。当创建一个新的用户数据库的时候,这一步是必不可少的。如果要创建的数据库已经存在,系统就会给出一个错误,为了防止这种错误,可以在试图删除新数据库的旧版本之前通过查询sysdatabases表来检查旧版本的数据库是否存在。然后可以通过数据库创建语句来创建用于测试用例存储的数据库。用于创建数据库的语句有许多可选参数,但是对于轻量级的自动测试来说,接受这些参数的默认值通常就可以满足需要了。
    接下来我们使用use语句把当前数据库设为新创建的数据库。这个步骤很重要,因为如果省掉了这一步,接下来所有的SQL语句都将在SQL主数据库上执行,这可能会导致很糟糕的结果。现在你可以创建一个表用来保存测试用例的输入。这个表的结构完全取决于你所要进行的测试,但是它至少应该包含测试用例ID、测试用例的输入项以及测试用例的期望结果项。对于用于存储测试结果的表,至少需要一个用于表示测试用例ID的列以及用于表示测试结果成功或者失败的列。如果想要在这张表里存放多次测试运行的结果(绝大多数情况下都会有这种需求),则需要采用某种方法来区分不同批次的测试运行结果。其中一种方法是用一个列来存放每次测试结果产生的日期和时间。这个列实际上隐式地充当了测试运行批次的ID。你也可以创建一个显式的、专用的列来表示测试运行批次ID。

    注解
    SQL数据库支持两种不同的安全模式:使用Windows认证可以通过Windows账号ID和密码连接数据库,使用混合模式认证可以通过SQL登录ID和SQL密码来连接数据库。如果想要通过SQL认证来连接测试数据库,应该使用系统存储过程sp_addlogin()创建一个SQL登录账号以及相应的密码。如果要删除一个SQL登录账号,可以先查询sysxlogins表检查相应的账号是否存在,然后调用sp_droplogin()来删除这个登录账号。创建好一个SQL登录账号以后,应该赋予登陆账号连接数据库的许可。然后需要针对数据库里的表,赋予登录账号与SQL语句相关的权限许可,比如SELECT、INSERT、DELETE以及UPDATE。
    SQL登录账号很容易与SQL用户搞混。SQL登陆账号是服务器范围的对象,它用来控制针对装有SQL Server的机器的连接许可。而SQL用户是数据库范围的对象,它用来控制数据库以及它所包含的表、存储过程和其他一些对象的权限许可。当为一个SQL登陆账号分配权限时,会自动创建一个同名的SQL用户。所以最终会有一个SQL登陆账号和一个SQL用户,两个名字相同并且相互关联。尽管也可以让不同名字的登陆账号和用户相互关联,但是这太容易让人迷惑了,所以最好还是使用名字相同的默认机制。
    当为了测试存储过程而创建测试用例存储结构的时候,你必须决定在什么时候以及如何往表中插入用于测试用例的那些数据。最简单的办法是在创建表的时候直接加入用于测试用例的数据。但是,在测试的过程中几乎肯定要在很多地方碰上需要添加或者移除测试用例数据的情况,所以更灵活的方法是使用BCP(Bulk Copy Program)、DTS(Data Transformation Services)或者一个辅助的C#程序来插入数据。如果想要插入以及删除测试用例数据,那么就应该针对存储测试用例数据的那张表为SQL登陆账号赋予INSERT和DELETE的权限许可。
    这个用于创建测试用例和存储测试结果的脚本可以通过几种方法来运行。一种方法是在查询分析器程序里打开并通过Execute命令(或者快捷键F5)执行这个脚本。第二种方法是使用osql.exe程序来执行这个SQL脚本。

     

    展开全文
  • Vdbench存储测试教程

    千次阅读 2020-06-02 13:03:51
    SAN架构:将存储上的lun以FC或者ISCSI的形式划给测试主机,并以裸盘的形式存在即可 客户端 Redhat7.2版本(其他稳定6以上版本)。 安装vdbench软件 可以再网上下载后上传到主机端。下载地址:...
  • 数据存储接口测试用例

    千次阅读 2017-04-17 17:58:00
    环境:金融数据业务,接口需测试json串反馈 流程:  从第三方获取数据  爬虫来源数据   方式:  通过接口发送的json串回流到hbase表,缓存表,同时能正常存储到mysql报表   测试方法:  1.通过工具...
  • arm 分布式存储性能测试报告

    千次阅读 2017-11-15 13:41:13
    1.参考: 1.ARM分布式架构上的Ceph分布式存储性能测试案例
  • Oracle 存储过程测试

    万次阅读 2018-09-04 16:56:19
    方法/步骤     首先在PL/SQL的左侧资源栏中展开... 找到想要调试的存过,左键单击选中存过(图中位置1),然后右键单击存过,从弹出菜单中选择“Test”项(图中位置2)。 单击“Test”后,...
  • mongodb亿级文件存储方案测试

    千次阅读 2012-02-28 20:42:01
    ...测试目标:mongodb gridfs version:2.0.2 ...2 亿级文件存储的读取速度测试 3 了解mongodb扩展对存储容量、读写速度的影响 4 mongodb的稳定性和缺陷 测试一:单节点测试(4核 * 32G内
  • 存储过程测试流程--以MySQL为例

    千次阅读 2016-06-06 18:58:06
    同C/C++/Java等语言编写的代码一样,用SQL语言编写的存储过程也需要进行充分的测试。本文以实际的MySQL存储过程为例,介绍存储过程测试的整个流程。
  • 10款存储设备测试软件

    千次阅读 2016-01-06 15:47:15
    [导读]随着云存储、大数据的持续升温,存储的地位也水涨船高,存储设备的性能也越来越重要。存储设备面对各种苛刻环境,...小编在这里给大家收集了10款存储设备测试软件供大家参考,妈妈再也不用担心买硬盘被人忽悠。
  • MongoDB 3.2版WiredTiger存储引擎性能测试作者:chszs,未经博主允许不得转载。经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszsMongoDB 3.2于最近发布了,它使用WiredTiger作为其默认的存储引擎。这...
  • pl/sql中存储过程测试

    千次阅读 2012-02-10 14:24:25
    pl/sql中存储过程含有自定义数组的参数: ...测试debug模式: 例子 : 存储过程 PRE_BOOKTICKET_SEND 为 :  CREATE OR REPLACE PROCEDURE "PRE_BOOKTICKET_SEND"(TICKETID VARCHAR2,  PHONES
  • 华为5600存储测试报告

    千次阅读 2015-04-17 19:35:33
    存储系统是华为技术有限公司(以下简称华为)根据存储产品应用现状和存储技术未来发展趋势,推出的新一代中高端存储产品,能够满足大中型企业用户对海量数据存储、高速数据存取、高可用性、高利用率、绿色环保和易于...
  • 简单oracle存储过程测试

    千次阅读 2016-03-11 11:57:38
    存储过程 create or replace procedure lcd(lid in number,lname out varchar2) as lock_handler varchar2(128); request_ number; release_ number; begin dbms_lock.allocate_unique('tlcd',lock_handler,3600);
  • DB2 带参数存储过程测试

    千次阅读 2006-01-04 12:27:00
    --DB2 带参数存储过程测试--彭建军--2006-1-4 9:27--建立测试环境DROP TABLE T1;DROP PROCEDURE P1;CREATE TABLE T1(C1 VARCHAR(20));CREATE PROCEDURE DB2ADMIN.P1(IN IsFirstRun INT)LANGUAGE SQLBEGIN INSERT ...
  • 使用DBUnit测试存储过程

    千次阅读 2006-10-25 15:07:00
    使用DBUnit测试存储过程 这两天通过对DBUnit的扩展,使得DBUnit可以进行存储过程的单元测试了。扩充了一些功能,原有的DBUnit虽然功能比较多,但是对于测试数据库应用还有一些不便之处。首先作了以下的扩充:1. ...
  • MongoDB亿级文件存储方案测试

    千次阅读 2015-05-30 15:07:38
    2 亿级文件存储的读取速度测试 3 了解mongodb扩展对存储容量、读写速度的影响 4 mongodb的稳定性和缺陷 测试一:单节点测试(4核 * 32G内存)官方Client 每秒插入速度:8000条(4000个1K文件) 单...
  • 存储系统测试工具学习之vdbench

    万次阅读 2016-06-01 08:25:32
    vdbench是非常好用的存储系统测试工具,安装方便且兼容性较好。既可以用于文件系统性能测试,也能够提供多种目录结构及io模型, 可以作为文件系统测试模型进行文件系统功能测试,文件读写一致性测试
  • 问题 如何测试没有返回值的存储过程。 设计 调用待测存储过程,然后计算该存储过程影响的对象的聚合校验和。把计算出来的校验和与期望的校验和进行比较。 方案 例如,设想待测存储过程要从tb1Employees表中删除...
  • C语言--测试电脑存储模式(大端存储OR小端存储

    千次阅读 热门讨论 2013-07-29 12:16:44
    相信大家都知道大端存储和小端存储的概念,这在平时,我们一般不用考虑,但是,在某些场合,这些概念就显得很重要,比如,在 Socket 通信时,我们的电脑是小端存储模式,可是传送数据或者消息给对方电脑时,恰巧,...
  • ORACLE存储过程

    万次阅读 多人点赞 2018-11-02 18:14:48
    oracle存储过程 目录 一.什么是存储过程 二.为什么要写存储过程 三.存储过程基础 1.存储过程结构 2.存储过程语法 3.pl/sql处理存储过程 四.存储过程进阶 1.BUIK COLLECT 2.FORALL 3.pl/sql调试存储过程 ...
  • mysql定义一个简单的存储过程及测试

    千次阅读 2017-05-09 11:40:15
    mysql定义一个简单的存储过程及测试
  • Vdbench是Oracle编写的一款应用广泛的存储性能测试工具,既支持块设备的性能测试,也支持文件系统性能测试。Vdbench使用java编写,兼容linux和windows的操作系统,使用方便。
  • Redis存储key filed压缩测试

    千次阅读 2012-12-24 15:15:14
    针对redis hmset存储结构中key 和filed占用内存比例的测试,运行环境如下 6379端口存储压缩前数据 6381端口存储压缩后数据 运行前均flushdb清空redis所有数据 运行数据如下,10W keys 一、针对filed压缩...
  • 本文主要介绍为广大服务器和存储厂商采用的磁盘性能测试工具 iometer 在 Linux 和 Windows 平台上的安装使用和测试方法,并且对典型测试应用的参数配置给出建议,可供相关测试人员参考。 1 软件介绍 Iometer 是对...
  • Iometer存储测试工具

    万次阅读 2013-01-14 10:11:06
    4核8线程,所以有8个Worker),每个Worker可以让你制定硬盘同时执行的线程数,不过一般我们家用测试只跑一个Worker即可,所以只需要1个Worker即可,多线程测试适合高性能服务器或者企业级的存储设备用的。这里多余的...
  • 理解大端存储和小端存储的概念 1).大端存储:大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而...
  • tair ldb存储引擎性能测试方案

    千次阅读 2014-07-28 12:59:34
    1. 性能测试环境  在单机环境(一台dataserver)和分布式环境(多台dataserver)下分别进行测试,或只在分布式环境下进行测试。   2. 性能测试指标 ...主要考量两个指标 ...主要针对tair ldb存储引擎在缓存

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,347,956
精华内容 539,182
关键字:

存储该如何测试