数据库优化-基准測试(一)

数据库优化-基准測试(一)

大家好,又见面了,我是全栈君。

基准測试的目的

基准測试是为了找出系统的瓶颈,包含:

  • 硬件
    磁盘、内存、网络等。

  • 操作系统
    文件系统、内存管理、驱动、调度等。
  • RDBMS
    SQL层、存储引擎层。
  • Schema设计
    索引、表结构、数据类型。
  • Query
    Query写的不好、逻辑错误。
  • 应用程序问题
  • 系统各部分之间的交互
    磁盘IO、RAM、RDBMS等。
  • 測量值
    怎样測量?哪里最花时间?哪个组件最忙?
  • 找出造成瓶颈的原因

系统測试计划的需求

  • 选择正确的硬件和软件 ;
  • 理解系统的行为 ;
  • 理解系统的性能 。
  • 对系统做正确调优和配置 ;
  • 识别系统的优缺点 ;
  • 定位系统的薄弱点 ;
  • 计划未来的增长量 ;
  • 计划可能发生的特殊事件 ;
  • 理解系统的伸缩性。

哪些要做基准測试?

  • 完整測试
    • 对全部的基础设施做測试,Webserver、应用程序、缓存层、数据库、网络、外部资源等;
    • 这样的方法提供了一个完整的全貌,但非常难以实现;
    • 结果复杂难以理解。有可能会误导。

  • 单个组件
    • 只基准測试基础设施的单个组件;
    • easy实现。但可能会忽略真正的瓶颈。
    • 结果easy理解。

单个组件的基准測试的比較须要考虑OS配置、硬件、DB系统、參数、Schema、查询及工作负载。

基准測试计划指南

  1. 定义基准前的目标。
  2. 了解可反复生成的工作负载;
  3. 记录全部的信息,甚至看起来可能没实用的。包含硬件信息、配置、版本号、表大小等;
  4. 创建基线。每个基准。都是未来的基线。
  5. 定义基准測试后的目标;
  6. 仅在同一时间改动一个配置,并返回基准结果。

基准測试的类型

  • 性能測试类型
    • 压力測试
    • 负载測试
    • 耐久性測试
    • 峰值測试
  • 压力測试
    測试系统的极限。包含
    • 使用极限负载
    • 定义上限
    • 定义容量
  • 负载測试
    測试系统可承受的负载。包含:
    • 用户数量
    • 事务数量
    • 数据库大小
  • 耐久性測试
    和负载測试相似,仿真可持续的时间,在较长的时间段内測试系统的稳定性。
  • 峰值測试
    • 測试工作负载的突然变化;
    • 定义在当前环境下的系统行为。比如:
      • 不影响系统的情况下处理峰值;
      • 性能将会减少;
      • 系统将停止/失败/崩溃。

性能測试的目的

  • 在基准測试前必须规划;
  • 验证系统是否满足规定的标准;
  • 比較两个系统;
  • 隔离系统中性能差的组件。
  • 高吞吐量;
  • 低延迟;
  • 面对伸缩时的稳定性;
  • 面对并发时的稳定性。

吞吐量

  • 是广泛使用的測量值,指的是单位时间(秒或分钟)内成功的事务数量;
  • 通常只关注平均值;
  • 广泛用于市场上的比較;
  • 对压力測试非常重要。

延迟

  • 完毕一个事务所需的总时间;
  • 最小/平均/最大响应时间。
  • 对负载測试非常重要。

面对伸缩时的稳定性

  • 測量系统伸缩时的表现。
  • 在成为严重问题前发现薄弱点;
  • 对容量规划非常实用;
  • 经常使用于耐久性測试。

面对并发时的稳定性

  • 測量线程数或连接数改变时系统的表现;
  • 用于找出线程数量的上限,并引入队列;
  • 经常使用于峰值測试。

參考:《Understanding Performance through Measurement, Benchmarking and Profiling》

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115477.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 用计算机最炫民族风乐谱,最炫民族风简谱「建议收藏」

    用计算机最炫民族风乐谱,最炫民族风简谱「建议收藏」最炫民族风苍茫的天涯是我的爱绵绵的青山脚下花正开什么样的节奏是最呀最摇摆什么样的歌声才是最开怀弯弯的河水从天上来流向那万紫千红一片海火辣辣的歌谣是我们的期待一路边走边唱才是最自在我们要唱就要唱得最痛快你是我天边最美的云彩让我用心把你留下来(留下来)悠悠的唱着最炫的民族风让爱卷走所有的尘埃(我知道)你是我心中最美的云彩斟满美酒让你留下来(留下来)永远都唱着最炫的民族风是整片天空最美的姿态(留下…

  • P2P技术应用

    P2P技术应用P2P技术应用P2P,即对等连接(peertopeer)是指两个主机在通信时并不区分哪一个是服务请求放还是服务提供方。两个主机都运行了对等连接软件(P2P软件,例如我们平时用的百度云盘、微博网盘、还有死去的360网盘),它们就可以进行平等的、对等的连接通信。这是双方都可以对等的下载对方已经存储在硬盘上中的共享文档。因此这种工作方式也成为P2P文件共享。一、P2P的工作方式概述

  • Conda命令 + 安装tensorflow

    Conda命令 + 安装tensorflow什么是conda?conda是开源包(packages)和虚拟环境(environment)的管理系统。**packages管理:**可以使用conda来安装、更新、卸载工具包,并且它更关注于数据科学相关的工具包。在安装anaconda时就预先集成了像Numpy、Scipy、pandas、Scikit-learn这些在数据分析中常用的包。另外值得一提的是,cond…

  • Windows:安装cygwin教程[通俗易懂]

    目录目录前言常见错误前言本篇文章参考这篇:cygwin安装但自从博主写后,这个东西发生了一些变化,因此,根据最新版的重新写了一遍。我们可以到Cygwin的官方网站下载Cygwin的安装程序或者直接使用来下载安来下载安装程序.下载完成后,运行setup.exe程序,首先是同意安装,第三方的软件在windows上不受信任,出现安装画面。直接点“下一步”,…

  • 数论狄利克雷定理_shx函数

    数论狄利克雷定理_shx函数狄利克雷函数dirac在Matlab中使用Syntaxd=dirac(x)d=dirac(n,x)d=dirac(x)representstheDiracdeltafunctionofx.d=dirac(n,x)representsthenthderivativeoftheDiracdeltafunctionatx.dirac(t)这表示关于ttt的狄利克雷函数dirac(1,t)dirac(2,t)因此,这两个分别表示关于

  • linux 新建文件的命令

    图形界面下就不用说了,终端下键入:touchtest.java就创建了一个新文件test.javahttp://hovertree.com/menu/linux/http://www.cnbl

    2021年12月24日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号