摘要: 之前遇到开发询问“mysql server has gone away”的问题,想当然的就认为是由于太长时间没有操作,导致超过MySQL服务端上的wait_timeout的设置,最终连接被MySQL服务端回收了。最近一次突然自己同事写的脚本在运行过程中被中断了,查看报错信息依然是“mysql server has gone away”,同事的脚本在多个MySQL实例上根据时间范围取值,虽然执行时间长了点,但是绝对不会有超过wati_timeout的空闲等待时间,于是去学习了一下到底有哪几种情况会出现这个报错。情况1就是最常见的,一个链接超过wait_timeout的设置时间没有做任何事情,被M 阅读全文
posted @ 2014-04-08 12:50 billy鹏 阅读(2821) 评论(2) 推荐(1) 编辑
摘要: 也谈时间管理和GTD时间管理随着事情越来约多发现时间越来越不够用了,但是其实每天时间都是恒定的,并不增也不减,所以感觉时间不够用了总归只是个人主观感觉。对我个人帮助比较大的是三本书《番茄时间管理法》《高效能人士的7个习惯》《把时间当朋友》。总结来说,有如下4点:减少干扰集中注意力利用碎片时间利用GTD工具减少干扰目前各种通讯软件众多,基本上每天工作的时候都会开着至少3种通讯软件(mail,qq,内部im),如果在算上微博和微信,不亏是信息爆炸的时代。并且现在的提醒技术很牛掰,各种提醒纷至沓来,没有强迫症的人也会被培养出来“有提醒必点”的毛病。笔者原先Mail5分钟更新一次,QQ(尤其是群)提醒 阅读全文
posted @ 2014-03-24 14:30 billy鹏 阅读(686) 评论(0) 推荐(0) 编辑
摘要: 最近突然对MySQL的连接非常感兴趣,从status根据thread关键字可以查出如下是个状态show global status like 'thread%';+-------------------+-------+| Variable_name | Value |+-------------------+-------+| Threads_cached | 57 || Threads_connected | 1268 || Threads_created | 31715 || Threads_running | 1 |+-------------... 阅读全文
posted @ 2014-03-17 12:13 billy鹏 阅读(6366) 评论(1) 推荐(0) 编辑
摘要: 最近线上遇到一个问题,接口日志发现有很多超时报错,根据日志定位到数据库实例之后发现一切正常,一般来说接口出现超时排查顺序如下: 慢查询 -》连接数 -》 服务器负载 -》网卡流量,但是这次从QPS、连接数、服务器负载、IO消耗、响应时间及慢查询上都非常正常并没有什么异常发生,只有如下这个图有变化。 在排除了前端服务器没有出现异常后,看来问题就出现在这个链接数变化上面了。为了看懂上面的图我们先说一下状态值的含义。1、Max Connections和Max Used Connection这两个就不细说了,分别是最大链接数限制和每个用户最大链接数限制。2、Aborted Clients:Th... 阅读全文
posted @ 2014-03-10 14:23 billy鹏 阅读(15501) 评论(0) 推荐(1) 编辑
摘要: 随着数据量越来越大,越来越频繁的遇到需要进行结构拆分的情况,每一次拆分都耗时很久,并且需要多方配合,非常的不想搞这个事情。于是在@zolker的提醒下想到了13年开源tokuDB,来解决我们迫在眉睫的容量问题。 坊间流传tokuDB有如下几个看着令人垂涎欲滴的特点,正好符合我们实际环境的需求,故针对每个特点进行了针对性测试: 1、高压缩比,官方宣称可以达到1:12。 2、高insert性能,官方称至少比innodb高9倍。 3、可以在线添加索引和字段,速度快。(前提:由于是为了解决线上的实际问题,故本次验证并不会按照严格的测试规范进行,所得数据也不是tokuDB的极限数据,只是在实... 阅读全文
posted @ 2014-03-03 14:28 billy鹏 阅读(9287) 评论(6) 推荐(1) 编辑
摘要: 春节过了,新年初始,各种绩效纷沓而来。偶听领导提起西游记的团队管理,遂研究一番,果然很经典。 首先我们说,西天取经是一个很成功的创业经历,从一穷二白到最后多人得道升天,稳稳一个大圆满结局,也是我们很多人追求的结果。----团队应该共同成长,共同成功,只想着从团队中获取利益而不付出的,最终会被团队代谢掉。 西天取经项目组由唐僧、悟空、八戒、沙僧还有白龙马组成,上级领导还有如来、玉帝、太白、观音等等。我们来分析一下各个组员的特点:唐僧:目标明确,意志坚定,时刻进行愿景阐述,团队的领导。悟空:有个性,有能力,项目成败的关键,相信最终可以成佛,团队的核心骨干。八戒:开心果,能力很一般,惰性严重... 阅读全文
posted @ 2014-02-24 14:31 billy鹏 阅读(2903) 评论(1) 推荐(1) 编辑
摘要: 最近有表结构设计中出现了varchar(10000)的设计引起了大家的讨论,我们下面就来分析分析。首先我们先普及一下常识:1、char(n)和varchar(n)中括号中n代表字符的个数,并不代表字节个数,所以当使用了中文的时候(UTF8)意味着可以插入m个中文,但是实际会占用m*3个字节。2、同时char和varchar最大的区别就在于char不管实际value都会占用n个字符的空间,而varchar只会占用实际字符应该占用的空间+1,并且实际空间+1create table test (a varchar(1500));Query OK, 0 rows affected (0.01 sec 阅读全文
posted @ 2014-02-13 19:35 billy鹏 阅读(104266) 评论(5) 推荐(15) 编辑
摘要: 最近遇到很多大分页的问题,服务器负载很高,SQL的执行时间也较长,非常的头痛。下面我们就说说分页问题的解决。大家都知道对于mysql来说,select * from table where x=‘?’ limit 0,20;和select * from table where x='?' limit 100000,20;的执行效率差了非常多。这是由于当limit m,n的时候,虽然都会扫描所有记录,但是当m越大的时候需要返回的数据就越多(从磁盘上返回的数据实际是m+n行),故消耗的IO也就越多,执行时间也就越慢。ps:本测试场景主键为联合索引,返回结果为一个非排序字段。我们首先 阅读全文
posted @ 2014-01-28 12:46 billy鹏 阅读(2446) 评论(0) 推荐(0) 编辑
摘要: 最近导数据的需求真多,年底了大家都要做分析吗?近期使用mysqldump导出的中文出现乱码问题。mysqldump -uroot -ppassword -S /tmp/mysql9991.sock test name > 1.txt 首先想到的就是添加--default-character-set参数来强制制定UTF8字符集来解决mysqldump -uroot -pTR4anis@xtooRz -S /tmp/mysql9991.sock test name --default-character-set=UTF8 > 1.txt 但是问题依然没有解决。思考涉及字符集的地方有三个 阅读全文
posted @ 2013-12-23 23:41 billy鹏 阅读(9419) 评论(0) 推荐(0) 编辑
摘要: 众所周知,mysqldump不但可以导出sql格式,还可以导出csv格式。 导出CSV格式的具体使用如下命令。mysqldump -uroot -ppassword -S /tmp/mysql9991.sock heartbeat -t -T /data1/mysql9991/ 导出后,会生成2个文件,一个tablename.sql为表结构,另一个tablename.txt为数据内容。 需要注意的是: 1、-T 参数跟的是目录path,不是文件名。 2、这个path必须是导出源mysql具有可写权限的,否则报错如下。mysqldump -uroot -ppassword -S /... 阅读全文
posted @ 2013-12-22 22:38 billy鹏 阅读(10213) 评论(0) 推荐(0) 编辑