思路:通过http请求获取es集群中某一index的索引docs数目变化来进行ES性能统计


import time
from datetime import datetime
import urllib2 def get_docs(data_type, today):
# curl '192.168.3.153:9200/_cat/indices/metadata-dis-2017.05.16-*-93001?v'
url = 'http://192.168.3.153:9200/_cat/indices/%s-dis-%s-*' % (data_type, today)
out = urllib2.urlopen(urllib2.Request(url))
data = out.read()
docs_cnt = 0
for line in data.split('\n'):
if line:
docs_cnt += int(line.split()[5])
return docs_cnt def main():
today = datetime.now().strftime("%Y.%m.%d")
init_data = {"event": 0, "metadata": 0}
docs_cnt, docs_cnt2, total_speed = dict(init_data), dict(init_data), dict(init_data)
data_types = docs_cnt.keys()
cnt = 0
sleepy_time = 20
for data_type in data_types:
try:
got_doc_cnt = get_docs(data_type, today)
except:
got_doc_cnt = docs_cnt[data_type]
docs_cnt[data_type] = got_doc_cnt
while True:
time.sleep(sleepy_time)
for data_type in data_types:
try:
got_doc_cnt = get_docs(data_type, today)
except:
got_doc_cnt = docs_cnt[data_type]
docs_cnt2[data_type] = got_doc_cnt
cnt += 1
for data_type in data_types:
speed = (docs_cnt2[data_type]-docs_cnt[data_type])/(sleepy_time+0.0)
total_speed[data_type] += speed
print "cnt=%d %s speed = %.1f total_speed=%.1f" % (cnt, data_type, speed, total_speed[data_type]/cnt)
docs_cnt = dict(docs_cnt2) if __name__ == "__main__":
main()

统计ES性能的python脚本的更多相关文章

  1. Python脚本性能剖析

    ################### #Python脚本性能剖析 ################### cProfile/profile/hotshot用于统计Python脚本各部分运行频率和耗费 ...

  2. 自动统计安卓log中Anr,Crash,Singnal出现数量的Python脚本

    作为测试,在测试工作中一定会经常抓log,有时log收集时间很长,导致log很大,可能达到几G,想找到能打开如此大的log文件的工具都会变得困难:即使log不大时,我们可以直接把log发给开发同学去分 ...

  3. 使用python脚本实现统计日志文件中的ip访问次数

    使用python脚本实现统计日志文件中的ip访问次数,注意此脚本只适用ip在每行开头的日志文件,需要的朋友可以参考下 适用的日志格式: 106.45.185.214 - - [06/Aug/2014: ...

  4. 自动统计安卓log中Anr,Crash,Singnal出现数量的Python脚本 (转载)

    自动统计安卓log中Anr,Crash,Singnal出现数量的Python脚本   转自:https://www.cnblogs.com/ailiailan/p/8304989.html 作为测试, ...

  5. Android 自动化测试及性能数据采集的 Python 脚本

    文主要介绍一个基于 uiautomator2 封装的一个 Python 库 android-catcher ,该库的功能主要有对 Android 设备进行 UI 自动化测试 和 采集手机性能数据 ,适 ...

  6. 基于binlog来分析mysql的行记录修改情况(python脚本分析)

          最近写完mysql flashback,突然发现还有有这种使用场景:有些情况下,可能会统计在某个时间段内,MySQL修改了多少数据量?发生了多少事务?主要是哪些表格发生变动?变动的数量是怎 ...

  7. 如何在命令行里运行python脚本

    python是一款应用非常广泛的脚本程序语言,谷歌公司的网页就是用python编写.python在生物信息.统计.网页制作.计算等多个领域都体现出了强大的功能.python和其他脚本语言如java.R ...

  8. 如何在python脚本开发做code review

    在软件项目开发中,我们经常提到一个词“code review”.code review中文翻译过来就是代码评审或复查,简而言之就是编码完成后由其他人通过阅读代码来检查代码的质量(可编译.可运行.可读. ...

  9. 针对主机CPU idle性能情况需求脚本编写

    [环境介绍] 系统环境:Linux + osw + python 2.7.10 [背景描述] 需求:当系统服务器出现性能告警的时候,需要定位具体的时间点来进行有针对性的去查询产生的问题.OSW提供了很 ...

随机推荐

  1. centos7安装个人博客wordpress

    第一步: 安装apache web 第二步: 安装MariaDB数据库 第三步: 安装PHP 第四步: 安装phpMyAdmin 第五部: 创建数据库: 第六部: 下载wordpress 第七部:复制 ...

  2. 当ECharts碰到TWaver

    百度公司的ECharts发展迅速,已经成为HTML5 Chart的佼佼者,这让大家骄傲:中国人终于也有世界级的开源通用UI产品了.正如其网站所说,它是百度的,是中国的,也是世界的.想想那些年,我们追逐 ...

  3. ListView常用属性 (2012-01-12 17:20:27)

    比较特别的属性,通过设置这样的属性可以做出更加美观的列表.stackFromBottom——设置该属性之后你最新条目就会显示你列表的最下面,值为true和false,如android:stackFro ...

  4. Pygame游戏开发入门(1)-开发框架

    pygame库的安装 pip install pygame pygame最小开发框架 #Pygame Hello World Game import pygame,sys #引入pygame和sys( ...

  5. 第八节:web爬虫之urllib(四)

    第三个 模块parse : 是一个工具模块,提供了许多 URL 处理方法,比如拆分.解析.合并等等的方法.

  6. BZOJ 1832、1787 洛谷 4281 [AHOI2008]紧急集合

    [题解] 题目要求找到一个集合点,使3个给定的点到这个集合点的距离和最小,输出集合点的编号以及距离. 设三个点为A,B,C:那么我们可以得到Dis=dep[A]+dep[B]+dep[C]-dep[L ...

  7. Maven_自动化构建和构建环节

    [构建过程的几个主要环节] ①清理:删除以前的编译结果,为重新编译做好准备. ②编译:将 Java 源程序编译为字节码文件. ③测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性 ...

  8. MVC系统学习2—MVC路由

    在MVC下不是通过对物理文件的映射来实行访问的,而是通过定义后的路由Url来实现访问的.在前一篇讲到我们是在全局文件下进行路由配置. routes.MapRoute(                & ...

  9. [luoguP1403] [AHOI2005]约数研究(这。。。)

    传送门 用类似筛法的原理,就好啦 ——代码 #include <cstdio> int n, ans; int a[1000001]; int main() { int i, j; sca ...

  10. 【触发器】MySQL触发器使用详解

    MySQL包含对触发器的支持.触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触发表上的触发器的执行. 创建触发器在MySQL中,创建触发器语法如下: ...