• MySQL-TPS,QPS到底是什么


    计算TPS,QPS的方式

    qps,tps是衡量数据库性能的关键指标,网上普遍有两种计算方式

    TPS,QPS相关概念

    QPS:Queries Per Second         查询量/秒,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理查询量多少的衡量标准

    TPS :  Transactions Per Second   是事务数/秒,是一台数据库服务器在单位时间内处理的事务的个数。

    计算方式一:基于 questions  计算qps,基于  com_commit  com_rollback 计算tps

    questions = show global status like 'questions';
    uptime = show global status like 'uptime';
    qps=questions/uptime
     
    com_commit = show global status like 'com_commit';
    com_rollback = show global status like 'com_rollback';
    uptime = show global status like 'uptime';
    tps=(com_commit + com_rollback)/uptime
    

    方法二  基于 com_* 的status 变量计算tps ,qps

    show global status where variable_name in('com_select','com_insert','com_delete','com_update');
    获取间隔1s 的 com_*的值,并作差值运算
    del_diff = (int(mystat2['com_delete'])   - int(mystat1['com_delete']) ) / diff
    ins_diff = (int(mystat2['com_insert'])    - int(mystat1['com_insert']) ) / diff
    sel_diff = (int(mystat2['com_select'])    - int(mystat1['com_select']) ) / diff
    upd_diff = (int(mystat2['com_update'])   - int(mystat1['com_update']) ) / diff

    tps= Com_insert/s + Com_update/s + Com_delete/s

    qps=Com_select/s + Com_insert/s + Com_update/s + Com_delete/s

      

    一些结论

    总结

    Questions 是记录了从mysqld启动以来所有的select,dml 次数包括show 命令的查询的次数。这样多少有失准确性,比如很多数据库有监控系统在运行,每5秒对数据库进行一次show 查询来获取当前数据库的状态,而这些查询就被记录到QPS,TPS统计中,造成一定的"数据污染".

    如果数据库中存在比较多的myisam表,则计算还是questions 比较合适。
    如果数据库中存在比较多的innodb表,则计算以com_*数据来源比较合适。

      

  • 相关阅读:
    Spring MVC-表单(Form)标签-单选按钮(RadioButton)示例(转载实践)
    Ubuntu 16.04中VirtualBox 5.1使用U盘/USB设备的方法
    Spring MVC-表单(Form)标签-复选框集合(Checkboxes)示例(转载实践)
    Ubuntu 16.04下减小/释放/清理VirtualBox虚拟硬盘文件的大小
    关注点分离
    谈代码注释
    DelegatingFilterProxy类的作用
    GOPS 2018全球运维大会上海站 参会感悟梳理
    Java switch case
    Android 微信网址分享添加网络图片
  • 原文地址:https://www.cnblogs.com/asea123/p/10572766.html
Copyright © 2020-2023  润新知