开源GIS实验田

OpenSource GIS Space

  • 内容导航

  • 最新评论

    • Gao Ang: 这将是一次开源GIS百科全书式的大会 ...
    • SHG: 恭喜恭喜 希望到时有更多国外的专...
    • Gao Ang: 这个示例可以搜索指定位置500m范围内...
    • suan: 你好,我想請問你GOOGLE MAPS API的問題 ...
    • Gao Ang: 静态地图现在支持用户自定义图标,...
  • 热门主题

  • 随机阅读

    • 2012 年二月
      « 十二    
       12345
      6789101112
      13141516171819
      20212223242526
      272829  
    • Gao Ang

      GaoMiao's Portrait
      有了理想
      就不要寻找放弃的理由

      站点搜索

    • 只言片语

      异想天开给生活增加了一分不平凡的色彩,这是每一个青年和善感的人所必须的。 ——康·巴乌斯托夫斯基

    TPC-C基准的数据库Benchmark工具

    4th 六月 2009

    作者: Gao Ang 可以转载,请以超链接标明原始出处和作者信息及版权声明
    网址: http://www.gaoang.com/archives/127

    事务处理性能委员会(TPC)是创建于1988年的非盈利组织,其宗旨是为了制定事务处理和数据库性能测试基准程序的Benchmark标准规范,目前被广泛用于计算机系统和数据库性能评估。

    基准程序TPC-C用于测试联机事务处理(OLTP)的性能,规范的最新版本是5.10。测试过程模拟一个真实的货物管理环境,批发公司有N个仓库,每个仓库供应M个地区,在每个地区为上千名客户提供服务。在测试启动后,N×M个终端操作员向数据库发出新订单(New-Order)、付款(Payment)、订单状态(Order-Status)、库存级别(Stock-Level)、发货(Delivery)等5类事物请求,而性能指标tpmC则代表事务在满足响应时间要求的前题下,每分钟系统处理新订单(New-Order)的数目。

    面向数据库系统的TPC-C基准测试,有多种程序实现,商用软件有QUEST公司的Benchmark Factory,以及HP的 LoadRunner,但用TPC-C标准测试数据库性能,也有小巧的开源工具来帮助我们完成这样的工作。

    针对Oracle的性能测试,Java编写的SwingBenchHammerora都是不错的选择。但对于Ingres和PostgreSQL等小众数据库的测试,需要其他基于JDBC驱动的通用数据库测试工具来完成。

    Apache JMeter是基于Swing的系统性能和负载能力测试工具,同样也可以测试数据库的吞吐能力,并且JMeter在NetBeans 6.7中可以同Profiler工具集成使用,在IDE环境下创建并运行JMeter装载测试脚本。JMeter内置的数据库测试,可以在JMeter的多线程框架下,帮助用户分析数据库所能承载的并发用户数和负载能力,并提供图形化结果反馈,但这款功能全面的测试工具没有提供基于TPC-C基准的数据库测试功能。

    作为专用的TPC-C测试工具,开源Java工具BenchmarkSQL更为适合,可以通过JDBC驱动添加各种数据源进行基准测试。工具里面内置了sqlTableCreates、sqlIndexCreates等SQL脚本,在推荐的测试条件下,使用预置脚本创建10个Warehouse,并在数据库中生成100万条测试数据,执行时间最小为1分钟,之后会生成包含5种不同操作的执行时间统计,以及最终tpmC值的结果报表。

    感兴趣的用户还可以将默认的索引方式(如ISAM)更改为数据库支持的其他索引(如B树R树索引),来比较不同索引方式下事务处理的性能差异。

    Leave a Reply

    XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>