- MySQL优化: CPU高 处理脚本 pt-kill脚本
hh真是个慢性子
mysql数据库python
简介生产环境中,经常会遇见CPU跑满的情况,一般是由慢SQL或业务逻辑导致的。为了避免程序无法访问,使用脚本监控CPU,当达到阈值时,使用pt-kill杀死匹配的sql,确保线上环境的正常运行。追加到脚本中的SQL,可以给开发人员,作为处理故障的切入点。使用时请根据自身情况修改脚本,本脚本仅供参考。功能CPU达到60%时,通知到微信CPU达到80%时,通知到微信,kill掉大于20秒的查询。CPU
- centos7--pt-kill工具离线安装教程
CX330 star
运维linux运维服务器
最近需要装pt-kill离线工具来处置数据库问题,在网上找了很多种方式,没有完全离线的,基本都是用yum安装依赖包再安装percona-toolkit工具集。自己探索反复安装了以后找到了所有需要的依赖包,直接安装即可。目前我找的只针对centos7安装资源下载包:https://download.csdn.net/download/weixin_43909848/87734998下载后放到服务器上
- MySQL 如何使用离线模式维护服务器
爱可生开源社区
mysql
离线模式作为DBA,最常见的任务之一就是批量处理MySQL服务的启停或其他一些活动。在停止MySQL服务前,我们可能需要检查是否有活动连接;如果有,我们可能需要把它们全部杀死。通常,我们使用pt-kill杀死应用连接或使用SELECT语句查询准备杀死语句。例如:pt-kill--host=192.168.11.11--user=percona-p--sentinel/tmp/pt-kill.sen
- 【mysql】pt-kill 工具使用说明
践行见远
mysql
工作过程说明pt-kill是percona工具箱里的成员之一,也是用perl写的。其主要工作过程为远程连上mysql实例根据指定规则对会话进行筛选对筛选出的问话执行操作,如kill。根据指定的重复规则,重复执行以上2、3步骤。参数说明pt-kill--help可以查看帮助信息,参数信息分类也十分的清晰。对照pt-kill的工作过程,参数内容也分为以下几类:连接DB的参数匹配会话的参数执行动作的参数
- percona-toolkit常用工具的使用
Cracker!
学习dba数据库开发数据库架构
percona-toolkit工具的使用文章目录percona-toolkit工具的使用说明安装具体工具介绍工具原理与使用pt-online-schema-change功能基本原理流程图用法使用示例pt-heartbeat功能基本原理流程图用法使用示例pt-table-checksum功能基本原理工作过程流程图用法使用示例pt-kill功能基本原理流程图用法使用示例pt-duplicate-key
- MySQL自我保护参数
耿小厨
上文(MySQL自我保护工具--pt-kill)提到用pt-kill工具来kill相关的会话,来达到保护数据库的目的,本文再通过修改数据库参数的方式达到阻断长时间运行的SQL的目的。1、参数介绍mysql5.6及以后,数据库端新增了新变量来限制语句最大执行时间,用于在服务端对select语句进行超时时间限制,能有效控制在数据库(建议在主库)的慢查询情况,以达到保护数据库稳定性的目的。不过mysql
- pt-kill使用样例
weixin_34248118
如果你的生产环境够多,业务够复杂,你就懂了pt-kill:pt-kill--host=ip--port=port--user=username--password=password--match-info"select|SELECT"--busy-time1800--victimsall--interval60--daemonize--kill--print--log=/tmp/kill_deta
- Percona Toolkit使用测试(11)PT-KILL
DBA界的小学生
mysqlpercona
pt-kill-删除匹配特定条件的MySQL查询。pt-kill杀死MySQL连接。pt-kill连接到MySQL,如果没有给定文件,则从SHOWPROCESSLIST获取查询。杀死运行时间超过60秒的查询:打印出运行时间超过60秒的查询:检查睡眠进程,每隔10秒杀死一次::打印所有登录的进程:查看processlist中现在匹配哪些查询:描述pt-kill从SHOWPROCESSLIST捕获查询
- MySQL使用pt-kill处理慢查询链接,数量触发阈值后发送邮件报警
皛皛
数据库数据库
这个只是我作为数据库和开发小白自己的一个解决思路,如果有更恰当的思路,欢迎评论或私聊呀~一、项目背景业务数据库被异常调用时导致慢查询量增大,影响到正常业务使用,业务只能通过nginx超时异常等来进行问题排查,增大了定位和处理问题的难度、时间,尤其商品库或者交易库可能会出现页面无法正常显示的情况。故业务需求为若主库和从库慢查询总量每分钟超过某个阈值之后则发送邮件报警。二、开发逻辑问题及处理1、问题梳
- 数据库cpu飙升,使用pt-kill工具记录慢sql,并杀死sql保障数据库不挂掉
kefe2
mysql
最近一个项目交付特别严,在有一次压测过程中,突然之间数据库连接数变多,cpu利用率也一下子飙升到70%,万幸的是cpu立马降了,数据库没有挂掉。这时候我们可以使用pt-kill记录所有慢sql,并且立即杀死进程。一.安装pt-kill工具PT工具是使用Perl语言编写和执行的,所以需要系统中有Perl环境。依赖包检查命令为:rpm-qaperl-DBIperl-DBD-MySQLperl-Time
- pt-kill MySQL会话杀灭神器
weixin_30242907
废话不多说,直接上例子:pt-kill--host=127.0.0.1--user=xxx--password=xxxxxx--port=xxxx--busy-time10--match-info="SELECT*FROM|DELETEFROMXXX"--victimall--interval5\--daemonize--pid=/tmp/ptkill.pid--log=/tmp/pt-kill.
- pt-kill
igoodful
批量查杀会话线程:pt-kill--host=HHH--port=PPP--user=UUU--password=ppp--match-db='mifm_backend'--match-info"select|SELECT"--busy-time30--victimsall--interval10--daemonize--kill--log=./t_kill.log常见参数详解/usr/local
- pt-kill 常用杀进程参数介绍
pt-kill是一个优秀的killMySQL连接的一个工具,是perconatoolkit的一部分,在因为空闲连接较多导致超过最大连接数、某个有问题的sql导致mysql负载很高时,都需要将一些连接kill掉,这个工具主要就是这个用途。1.按userkill/usr/bin/pt-kill--busy-time15--match-user="dbUSER1|dbUSER2,..."--victim
- 使用pt-kill根据一定的规则来kill连接的方法
pt-kill是一个优秀的killMySQL连接的一个工具,是perconatoolkit的一部分,在因为空闲连接较多导致超过最大连接数、某个有问题的sql导致mysql负载很高时,都需要将一些连接kill掉,这个工具主要就是这个用途。参数�Cbusy-time运行时间�Cidle-time空闲时间�Cvictims所有匹配的连接,对应有最久的连接�Cinterval间隔时间,默认30s,有点长,
- percona 实用工具之pt-kill使用介绍
pt-kill是一个优秀的killMySQL连接的一个工具,是perconatoolkit的一部分,在因为空闲连接较多导致超过最大连接数、某个有问题的sql导致mysql负载很高时,都需要将一些连接kill掉,这个工具主要就是这个用途。从showprocesslist中获取满足条件的连接或者从包含showprocesslist的文件中读取满足条件的连接并打印或者杀掉或者执行其他操作,这个工具在工作
- pt-kill使用样例
春秋小记
ptkill使用样例mysql
如果你的生产环境够多,业务够复杂,你就懂了pt-kill:pt-kill--host=ip--port=port--user=username--password=password--match-info"select|SELECT"--busy-time1800--victimsall--interval60--daemonize--kill--print--log=/tmp/kill_deta
- pt 软件安装及pt-kill 用法
spark_Gg
mysqlmysql
1.修改表结构时用:pt_online-schema-change2.percona-toolkit工具集wgethttps://percona.com/downloads/percona-toolkit/2.2.16/tarball/percona-toolkit-2.2.16.tar.gztarzxvfpercona-toolkit-2.2.16.tar.gzwgethttps://www.p
- Percona PT-kill重构版(PHP)
hcymysql
pt-kill慢SQL慢查询MySQL管理
/**PerconaPT-kill重构版(PHP)https://github.com/hcymysql/pt-killUPDATE:Modifiedby:hcymysql2018/11/271、增加慢SQL邮件报警功能2、增加慢SQL微信报警功能环境准备:shell>yuminstall-yphp-processphpphp-mysql*/概述原生Percona版PT-kill(Perl)工具只
- percona-toolkit之pt-kill 杀掉mysql查询或连接的方法
张正
pt-kill是一个非常简单的杀mysql线程和查询的工具。主要是为了防止一些长的查询长时间占用系统资源,而对线上业务造成影响的情况。主要作用:从showprocesslist中获取满足条件的连接或者从包含showprocesslist的文件中读取满足条件的连接并打印或者杀掉或者执行其他操作。我们这里主要用来防止某些select操作时间过长,从而影响其他线上SQL。安装:安装percona-too
- pt-kill 常用杀进程参数
mutouking
pt-kill
pt-kill常用杀进程参数 1.按userkill/usr/bin/pt-kill--busy-time15 --match-user="dbUSER1|dbUSER2,..."--victimall--interval1--kill--daemonize--pid=/tmp/ptkill.pid--print--log=/home/pt-kill.log 注:测试通过按用户来杀线程,注意
- percona-toolkit工具集pt-kill使用举例
jiangshouzhuang
percona-toolkit-2.2.10使用举例以pt-kill为例--help,可以看到帮助信息需要注意的事情:--victimsall需要有,否则只会处理一个连接(最早连上数据库的那个),--interval30默认每30秒循环执行一次,可以根据实际情况调整,如果不加,只执行一次;加上的话,会在后台不停的执行。默认会过滤掉复制线程,请不必担心杀掉复制线程。--run-time,如果指定此项
- Discuz论坛之大坑!各位坛主请注意!
hcymysql
discuz故障连接数
今天论坛打开了这个会话功能,结果很荣幸踩坑里了,连接数直接给干到2000开外。好了,直接上图说下:showprocesslist,满屏显示这条SQL,情急之下,立即pt-kill,先让论坛活下来。顺便想问候下discuz开发,你们真的做了测试了吗,就直接发布了?表结构:mysql>descpre_common_session;
+--------------+-------------------
- Discuz论坛之大坑!各位坛主请注意!
hcymysql
故障discuz连接数MySQL管理
今天论坛打开了这个会话功能,结果很荣幸踩坑里了,连接数直接给干到2000开外。好了,直接上图说下:showprocesslist,满屏显示这条SQL,情急之下,立即pt-kill,先让论坛活下来。顺便想问候下discuz开发,你们真的做了测试了吗,就直接发布了?表结构:mysql>descpre_common_session;+--------------+--------------------
- MySQL数据库CPU飙升紧急处理方法
cqtesting
数据库
MySQL数据库CPU飙升紧急处理方法运行平稳的数据库,如果遇到CPU狂飙,到80%左右,那一定是开发写的烂SQL导致的,DBA首先要保证的是,数据库别跑挂了,所以我们要把那些运行慢的SQL杀死并记录到文件里,以便后面的排查。这里用到一个工具pt-kill,它可以帮助你。1pt-kill --match-info"^(select|SELECT)"--busy-time3--victimall--
- 突发事件防止数据库被打死紧急处理措施
hcymysql
数据库宕机故障
开发上线完以后,到早上高峰期并发压力大,有可能因某个SQL的原因把数据库给打死,参考《一个引号导致1个小时网站打不开》,这个时候你可以用pt-kill杀死,但连接数过高,CPU负载很高,这个工具根本没法去处理,数据库这个时候已经成瘫痪状态,那么应该怎么办?首先要保证数据库不能被打死,先让数据库压力降下来,这里就要做一些限制措施。我们先用iptables封死3306端口,先把压力降下来,然后tail
- 突发事件防止数据库被打死紧急处理措施
hcymysql
故障数据库宕机MySQL管理
开发上线完以后,到早上高峰期并发压力大,有可能因某个SQL的原因把数据库给打死,参考《一个引号导致1个小时网站打不开》,这个时候你可以用pt-kill杀死,但连接数过高,CPU负载很高,这个工具根本没法去处理,数据库这个时候已经成瘫痪状态,那么应该怎么办?首先要保证数据库不能被打死,先让数据库压力降下来,这里就要做一些限制措施。我们先用iptables封死3306端口,先把压力降下来,然后tail
- MySQL数据库CPU飙升紧急处理方法
hcymysql
mysqlcpukillpt-kill
MySQL数据库CPU飙升紧急处理方法运行平稳的数据库,如果遇到CPU狂飙,到80%左右,那一定是开发写的烂SQL导致的,DBA首先要保证的是,数据库别跑挂了,所以我们要把那些运行慢的SQL杀死并记录到文件里,以便后面的排查。这里用到一个工具pt-kill,它可以帮助你。pt-kill--match-info"^(select|SELECT)"--busy-time3--victimall--in
- MySQL数据库CPU飙升紧急处理方法
hcymysql
cpumysqlkillMySQL管理
MySQL数据库CPU飙升紧急处理方法运行平稳的数据库,如果遇到CPU狂飙,到80%左右,那一定是开发写的烂SQL导致的,DBA首先要保证的是,数据库别跑挂了,所以我们要把那些运行慢的SQL杀死并记录到文件里,以便后面的排查。这里用到一个工具pt-kill,它可以帮助你。pt-kill--match-info"^(select|SELECT)"--busy-time3--victimall--in
- Java实现的简单双向Map,支持重复Value
superlxw1234
java双向map
关键字:Java双向Map、DualHashBidiMap
有个需求,需要根据即时修改Map结构中的Value值,比如,将Map中所有value=V1的记录改成value=V2,key保持不变。
数据量比较大,遍历Map性能太差,这就需要根据Value先找到Key,然后去修改。
即:既要根据Key找Value,又要根据Value
- PL/SQL触发器基础及例子
百合不是茶
oracle数据库触发器PL/SQL编程
触发器的简介;
触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。触发器和过程函数类似 过程函数必须要调用,
一个表中最多只能有12个触发器类型的,触发器和过程函数相似 触发器不需要调用直接执行,
触发时间:指明触发器何时执行,该值可取:
before:表示在数据库动作之前触发
- [时空与探索]穿越时空的一些问题
comsci
问题
我们还没有进行过任何数学形式上的证明,仅仅是一个猜想.....
这个猜想就是; 任何有质量的物体(哪怕只有一微克)都不可能穿越时空,该物体强行穿越时空的时候,物体的质量会与时空粒子产生反应,物体会变成暗物质,也就是说,任何物体穿越时空会变成暗物质..(暗物质就我的理
- easy ui datagrid上移下移一行
商人shang
js上移下移easyuidatagrid
/**
* 向上移动一行
*
* @param dg
* @param row
*/
function moveupRow(dg, row) {
var datagrid = $(dg);
var index = datagrid.datagrid("getRowIndex", row);
if (isFirstRow(dg, row)) {
- Java反射
oloz
反射
本人菜鸟,今天恰好有时间,写写博客,总结复习一下java反射方面的知识,欢迎大家探讨交流学习指教
首先看看java中的Class
package demo;
public class ClassTest {
/*先了解java中的Class*/
public static void main(String[] args) {
//任何一个类都
- springMVC 使用JSR-303 Validation验证
杨白白
springmvc
JSR-303是一个数据验证的规范,但是spring并没有对其进行实现,Hibernate Validator是实现了这一规范的,通过此这个实现来讲SpringMVC对JSR-303的支持。
JSR-303的校验是基于注解的,首先要把这些注解标记在需要验证的实体类的属性上或是其对应的get方法上。
登录需要验证类
public class Login {
@NotEmpty
- log4j
香水浓
log4j
log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, HTML, DATABASE
#log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, ROLLINGFILE, HTML
#console
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4
- 使用ajax和history.pushState无刷新改变页面URL
agevs
jquery框架Ajaxhtml5chrome
表现
如果你使用chrome或者firefox等浏览器访问本博客、github.com、plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器前进和后退。
是什么有这么强大的功能呢?
HTML5里引用了新的API,history.pushState和history.replaceState,就是通过
- centos中文乱码
AILIKES
centosOSssh
一、CentOS系统访问 g.cn ,发现中文乱码。
于是用以前的方式:yum -y install fonts-chinese
CentOS系统安装后,还是不能显示中文字体。我使用 gedit 编辑源码,其中文注释也为乱码。
后来,终于找到以下方法可以解决,需要两个中文支持的包:
fonts-chinese-3.02-12.
- 触发器
baalwolf
触发器
触发器(trigger):监视某种情况,并触发某种操作。
触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete)
语法:
create trigger triggerName
after/before 
- JS正则表达式的i m g
bijian1013
JavaScript正则表达式
g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止。 i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写。 m:表示
- HTML5模式和Hashbang模式
bijian1013
JavaScriptAngularJSHashbang模式HTML5模式
我们可以用$locationProvider来配置$location服务(可以采用注入的方式,就像AngularJS中其他所有东西一样)。这里provider的两个参数很有意思,介绍如下。
html5Mode
一个布尔值,标识$location服务是否运行在HTML5模式下。
ha
- [Maven学习笔记六]Maven生命周期
bit1129
maven
从mvn test的输出开始说起
当我们在user-core中执行mvn test时,执行的输出如下:
/software/devsoftware/jdk1.7.0_55/bin/java -Dmaven.home=/software/devsoftware/apache-maven-3.2.1 -Dclassworlds.conf=/software/devs
- 【Hadoop七】基于Yarn的Hadoop Map Reduce容错
bit1129
hadoop
运行于Yarn的Map Reduce作业,可能发生失败的点包括
Task Failure
Application Master Failure
Node Manager Failure
Resource Manager Failure
1. Task Failure
任务执行过程中产生的异常和JVM的意外终止会汇报给Application Master。僵死的任务也会被A
- 记一次数据推送的异常解决端口解决
ronin47
记一次数据推送的异常解决
需求:从db获取数据然后推送到B
程序开发完成,上jboss,刚开始报了很多错,逐一解决,可最后显示连接不到数据库。机房的同事说可以ping 通。
自已画了个图,逐一排除,把linux 防火墙 和 setenforce 设置最低。
service iptables stop
- 巧用视错觉-UI更有趣
brotherlamp
UIui视频ui教程ui自学ui资料
我们每个人在生活中都曾感受过视错觉(optical illusion)的魅力。
视错觉现象是双眼跟我们开的一个玩笑,而我们往往还心甘情愿地接受我们看到的假象。其实不止如此,视觉错现象的背后还有一个重要的科学原理——格式塔原理。
格式塔原理解释了人们如何以视觉方式感觉物体,以及图像的结构,视角,大小等要素是如何影响我们的视觉的。
在下面这篇文章中,我们首先会简单介绍一下格式塔原理中的基本概念,
- 线段树-poj1177-N个矩形求边长(离散化+扫描线)
bylijinnan
数据结构算法线段树
package com.ljn.base;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
/**
* POJ 1177 (线段树+离散化+扫描线),题目链接为http://poj.org/problem?id=1177
- HTTP协议详解
chicony
http协议
引言
- Scala设计模式
chenchao051
设计模式scala
Scala设计模式
我的话: 在国外网站上看到一篇文章,里面详细描述了很多设计模式,并且用Java及Scala两种语言描述,清晰的让我们看到各种常规的设计模式,在Scala中是如何在语言特性层面直接支持的。基于文章很nice,我利用今天的空闲时间将其翻译,希望大家能一起学习,讨论。翻译
- 安装mysql
daizj
mysql安装
安装mysql
(1)删除linux上已经安装的mysql相关库信息。rpm -e xxxxxxx --nodeps (强制删除)
执行命令rpm -qa |grep mysql 检查是否删除干净
(2)执行命令 rpm -i MySQL-server-5.5.31-2.el
- HTTP状态码大全
dcj3sjt126com
http状态码
完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过调用request
- asihttprequest上传图片
dcj3sjt126com
ASIHTTPRequest
NSURL *url =@"yourURL";
ASIFormDataRequest*currentRequest =[ASIFormDataRequest requestWithURL:url];
[currentRequest setPostFormat:ASIMultipartFormDataPostFormat];[currentRequest se
- C语言中,关键字static的作用
e200702084
C++cC#
在C语言中,关键字static有三个明显的作用:
1)在函数体,局部的static变量。生存期为程序的整个生命周期,(它存活多长时间);作用域却在函数体内(它在什么地方能被访问(空间))。
一个被声明为静态的变量在这一函数被调用过程中维持其值不变。因为它分配在静态存储区,函数调用结束后并不释放单元,但是在其它的作用域的无法访问。当再次调用这个函数时,这个局部的静态变量还存活,而且用在它的访
- win7/8使用curl
geeksun
win7
1. WIN7/8下要使用curl,需要下载curl-7.20.0-win64-ssl-sspi.zip和Win64OpenSSL_Light-1_0_2d.exe。 下载地址:
http://curl.haxx.se/download.html 请选择不带SSL的版本,否则还需要安装SSL的支持包 2. 可以给Windows增加c
- Creating a Shared Repository; Users Sharing The Repository
hongtoushizi
git
转载自:
http://www.gitguys.com/topics/creating-a-shared-repository-users-sharing-the-repository/ Commands discussed in this section:
git init –bare
git clone
git remote
git pull
git p
- Java实现字符串反转的8种或9种方法
Josh_Persistence
异或反转递归反转二分交换反转java字符串反转栈反转
注:对于第7种使用异或的方式来实现字符串的反转,如果不太看得明白的,可以参照另一篇博客:
http://josh-persistence.iteye.com/blog/2205768
/**
*
*/
package com.wsheng.aggregator.algorithm.string;
import java.util.Stack;
/**
- 代码实现任意容量倒水问题
home198979
PHP算法倒水
形象化设计模式实战 HELLO!架构 redis命令源码解析
倒水问题:有两个杯子,一个A升,一个B升,水有无限多,现要求利用这两杯子装C
- Druid datasource
zhb8015
druid
推荐大家使用数据库连接池 DruidDataSource. http://code.alibabatech.com/wiki/display/Druid/DruidDataSource DruidDataSource经过阿里巴巴数百个应用一年多生产环境运行验证,稳定可靠。 它最重要的特点是:监控、扩展和性能。 下载和Maven配置看这里: http
- 两种启动监听器ApplicationListener和ServletContextListener
spjich
javaspring框架
引言:有时候需要在项目初始化的时候进行一系列工作,比如初始化一个线程池,初始化配置文件,初始化缓存等等,这时候就需要用到启动监听器,下面分别介绍一下两种常用的项目启动监听器
ServletContextListener
特点: 依赖于sevlet容器,需要配置web.xml
使用方法:
public class StartListener implements
- JavaScript Rounding Methods of the Math object
何不笑
JavaScriptMath
The next group of methods has to do with rounding decimal values into integers. Three methods — Math.ceil(), Math.floor(), and Math.round() — handle rounding in differen