高并发压力测试工具Tsung

Tsung是Erlang开发的一个开源的多协议分布式负载测试工具,它能用来压力测试HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP 和 Jabber/XMPP的服务器。它可以分布在多个客户机,并能够模拟成千上万的虚拟用户数并发。 最近在做业务的横向扩展测试和业务接口的性能优化,期望QPS能达到C100K的目标。平时简单的压力测试,使用的是 ab 轻量级测试工具。但是,正式测试时,涉及到多接口、高并发等要求测试,就需要使用专业的、重量级的测…

使用火焰图做性能分析

火焰图(Flame Graph)是由 `Linux` 性能优化大师 `Brendan Gregg` 发明的。它是定位疑难杂症的神器,比如 `CPU` 占用高、内存泄漏等问题。 和所有其他的 `trace` 和 `profiling` 方法不同的是,`Flame Graph` 以一个全局的视野来看待时间分布,它从底部往顶部,列出所有可能的调用栈。 Flame Graph 火焰图看起来就像一团跳动的火焰,这也正是其名字的由来。燃烧在火苗尖部的就是 CPU 正在…

Flume监控

最近在对服务做压力测试时,发现当 QPS 达到很高的一个值时,Flume 会出现报错。为了排查原因,一边结合 Telegraf 的数据收集,给 Flume 加上监控和报警;一边查看 Flume 代码。 异常排查 当 QPS 压到3w时,Flume出现一下错误信息。 根据错误信息描述,是 source 接收端的容量达到上线,无法再接收数据,直接 kill 掉了 tail 命令。 在排查问题之前,先了解一下 f…

Grafana使用

Grafana 是一款采用 go 语言编写的开源应用,主要用于大规模指标数据的可视化展现。有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持Graphite、zabbix、InfluxDB、Prometheus 和 OpenTSDB 作为数据源,最新版本4.3.1已经支持 MySQL 数据源。 Grafana 主要特性:灵活丰富的图形化选项;可以混合多种风格;支持多个数据源;拥有丰富的插件扩展;支持用户权限管理。 准备学习 Grafana&nbsp…

Storm自动监控报警

 虽然Storm自身提供的有UI,可以查看监控状态。但总不能让人实时的盯着吧。为了满足自己的监控需求,查看了官网,发现有Storm UI REST API,提供了丰富的接口,Storm UI就是基于这个API实现的。有了这些API,我们就可以实现自身的一些监控了。 需求 由于我们没有统一的监控报警平台,需要我们自己根据服务情况来做监控。监控要求很简单: 1、指定的Topology服务出现异常要能及时报警 2、Topology中的bolt…

Storm消费Kafka监控

 Flume+Kafka+Storm是目前比较常用的一种实时处理组合。组合的框架越多,可能出问题的地方就越多,相对应的问题排查也就越麻烦。这时,监控就显得尤为重要,有效的监控,可以帮助我们快速定位问题的环节,减少排查的时间。 Storm服务自带UI,可以查看服务状态,也可以直接调用其提供的rest api,实现监控报警。 Kafka自带的有消费命令脚本,可以查看各topic和partition对应的offset信息。但是由于版本和消费方的使用规则不同,无法做到统一,…

Ganglia 3.6 安装

1、介绍 Ganglia 是 UC Berkeley 发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia 的核心包含 gmond、gmetad 以及一个 Web 前端。Ganglia 集群主要用来监控系统性能,它由 RRDTool 工具处理数据,并生成相应的监控相关的图形,并提供一个 Web 控制台来直观地提供给客户端,管理员可以通过丰富的图形来对整个被监控的物理机器集群节点进行评估。Ganglia 能够监控的内容很多,如 CPU 利用率 、Mem 利用率…