sszxf 发表于 2018-10-1 12:34:22

MySQL_tps

TPS(Transaction Per Second)  
    一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。
  
单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。
  
   MySQL-tps:每秒钟系统能够处理的交易或事务的数量。它是衡量系统处理能力的重要指标。
  
   TPS是LoadRunner中重要的性能参数指标。
  

  
#!/usr/bin/env python
  
#_*_coding:utf8 _*_
  
import MySQLdb
  
import datetime
  
#qps
  
#!/usr/bin/env python
  
import MySQLdb
  
import time
  
from influxdb import InfluxDBClient
  
def getInfluxdb():
  
      client=InfluxDBClient(host='192.168.15.104', port=8086, username='admin', password='root123', database='mysql15104')
  
      return client
  
def get_cur():
  
    conn=MySQLdb.connect(host="192.168.30.103",user="dlan",passwd="root123",port=3307,db="test",charset='utf8')
  
    conn.select_db("test")
  
    cur=conn.cursor()
  
    return cur
  

  
def get_mysql_status(cursor):
  
    data=cursor.execute('show global status;');
  
    data_list=cursor.fetchall()
  
    data_dict={}
  
    for item in data_list:
  
      data_dict] = item
  
    return data_dict
  

  

  
def getQPS(cursor):
  
    first_status=get_mysql_status(cursor)
  
    time.sleep(1)
  
    second_status=get_mysql_status(cursor)
  
    tps=int(second_status['Com_commit'])-int(first_status['Com_commit'])
  

  
    return qps
  

  
if __name__=='__main__':
  
    while True:
  
      cur=get_cur()
  
      aa=getQPS(cur)
  
      print aa
  
      date=int(time.time())
  
      json_body = [
  
      {
  
            "measurement":'wangyuan',
  
            "tags":{
  
                "host": "mycat",
  
                "time":date
  
            },
  
            "fields":{
  
                "qps":aa
  
            }
  
      }
  
    ]
  
      print json_body


页: [1]
查看完整版本: MySQL_tps