自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 资源 (7)
  • 收藏
  • 关注

原创 go容断器源码:github.com/sony/gobreaker

sony开源在 github 的容断器 源代头注释中,原来实现的是微软2015时公布的标准,果然微软才开源界的大神。1)微软定义的 Circuit breaker我不知道正确怎么翻译,直观翻译,可能叫:环形容断器(或叫 循环状态自动切换容断器)。 因为它是在下面3个状态循环切换 : Closed / \ Half-Open <--...

2018-07-25 17:50:52 1079

原创 SSL加速卡的使用,对HTTPS 七层负载机的性能提升

SSL加速卡使用,编译驱动一、编译驱动1. 厂家提供2个SDK包,SDK与Drive,要自行编译。 DX_SDK_v2.2.2L_PUBLIC_20151225.tar.gz DX_SDK_v2.2.2L_EXAR_20151225.tar.gz 要先解压PUBIBC包,make and make install后, 在同样的目录解压EXAR包,再make

2018-01-29 11:28:27 6158 1

原创 GCC 编译动态库 so文件时,静态链接libmysqlclient.a 与动态链接参数一起使用问题。

直接放结论, 下面是编译一个使用了mysql C API 的 mysql.so 文件(我们的业务中,它是zbx加裁的modules so文件)gcc -fPIC -shared -o mysql.so mysql.c \ -I/usr/include/mysql \ -L/usr/lib64/mysql \ -Wl,-Bstatic -lmysqlclient \ -Wl,

2018-01-16 17:44:34 2279

原创 PXC 配置笔记-从MySQL直接转成PXC集群

英文别人github的配置流程PXC 能提供高可用,高读,多写支持最重要的优点就是高可能,在3个及以上节点时,其中一个挂了,完全不影响业务。最大的缺点是多写问题,最短板性能上限问题。在我们硬件水平是256G内存,32核CPU,SSD硬件,单行数据大概1K,单表1千万,512表。 QPS在2.5k写+5K读时,就会有节点同步阻塞问题。当时我们临时切成只读(不执行写SQL)10分钟后

2018-01-10 17:13:27 6728

原创 TokuDB与InonoDB引擎,作为slave的性能差别

左边(8.246)是使用TokuDB-5.6-percona版本的表。 右边(9.232)是使用Innodb-5.7-percona版本的表。 QPS基本上相同,两台都是slave,同一个master拉取binlog,有1024个表。CPU消耗,左边的TokuDB要高很多很多~,同样硬盘IO也相对InnoDB高1倍。还有两个结论:slave的落后值 ,tokuDB间断性有几秒的落后,InnoD

2017-11-30 15:27:23 584

原创 Percona 家的 ProxySQL 配置笔记

最近发现了 percona 自家网站的个推荐的 ProxySQL howto 在github.com有开源,并且还在持续更新。感觉commit者就是 percona自家的员工或领他家工资资助的人才。大概记录 对ProxySQL的了解。C++写的,性能应该不是问题。 github地址运行时分admin进程与proxy进程, 一般 6032 端口是 admin 进程。6033是proxy。adm

2017-11-16 17:05:53 4501

原创 带PARTITION 的表,在slave中会system lock

问题背景master版本: 5.6.23-72.1-log Percona版本的 slave 版本: 5.7.19-17-log Percona Serverslave是通过 innobackupex 工具导出与恢复的。 配置后执行过mysql_upgrade升级数据,并重启。 某表tb1 有partition属性如: PARTITION BY KEY (target_id) PARTI

2017-10-30 15:28:27 1113

原创 mysql-5.7的坑

带 SUPER 权限的用户,写数据不会产生binlog。SUPER的 grant必需是 on . 所以全没binlog。默认强制使用ssl连接,如果主从中包含5.6版本,要强制指向hash算法:SSL_Cipher=’AES128-SHA’;MTS必需打开GTID—这不算坑,记录下而已。percona的xbackup,还不支持5.7(截至2017年初)

2017-07-05 13:59:15 690

原创 白话 MySQL TCP 通信协议-5分钟理解

MySQL协议简短说明大致上采用一问多答的方式,由client发问。所有包头前3个字节为整个包的大小,第3个字节为此次应答中包的序号。故单包大小上限(2^24)-1=(16M-1)字节,序号0~255循环使用。client端第一次连接时,先由服务端发送一个handshake报文给客户端。handshake报文包含: 协议版本、服务端版本、协议支持(兼容)内容标志位(32位)、分配连接ID

2016-06-07 15:46:02 5342

翻译 XtraBackup/innobackupex 远程备份MySQL

XtraBackup2.2 暂时不支持最新的mysql-5.7 远程备份方法来源https://www.percona.com/forums/questions-discussions/percona-xtrabackup/8816-can-i-backup-remote-databases-from-my-local-server 方法就是:利用导入tar文件流,通过管道压缩,再直接通过管道传

2016-04-26 14:26:55 6650

原创 Docker 5分钟入门

环境要求64位os,centos7及以上。建议使用最新版本docker与docker-compose 官方文档:https://docs.docker.com 官方镜像:https://hub.docker.com compose: https://docs.docker.com/compose/ 在官方网站能找到所有支持,赖得看en的,可以继续看本书。 镜像站上能找到所有常用开源程序的镜

2016-04-22 16:57:54 754

原创 双A机房解决方案

双A机房即对服务来说双机房互备,即任意一个机房掉线(天朝内挖断电缆是随时随地发生的)服务依然可用。国内能公开号称自己有双A机房互备的,暂时我只听闻只有BTA,直接近距离听过公开演讲的是阿里与腾讯。但,也只是说到“有”的层次,底层上如何实现,使用什么技术等等,并没有透露。事实上,这些细节,足够以说上一整天,甚至好几天;并且真正参与其中实现的技术人员肯定非常多,也并不是一个人能说清楚。为什么这样说?双A

2016-03-30 14:47:06 4363

原创 CentOS-7 下 systemctl 管理 mysql-5.7的不同,配置jemalloc

mysql-5.7 的 mysqld_safe去哪了?在CentOS-7下全面使用systemctl管理服务,包括mysqld,使用ps命令时见不到mysqld_safe。并且安装完mysql-5.7也找不到mysqld_safe安装完初始化mysql基本文件时,也不再使用mysqd_safe, 而是改用 mysqld –initialize 或 –initialize-insecure以上

2016-03-16 15:42:09 6380

原创 备忘:Alter Table中: ALTER vs CHANGE vs MODIFY COLUMN 区别

三者区别在于:ALTER COLUMN 改默认值的。Used to set or remove the default value for a column. Example:ALTER TABLE MyTable ALTER COLUMN foo SET DEFAULT 'bar';ALTER TABLE MyTable ALTER COLUMN foo DROP DEFAULT;CHANGE

2016-03-15 14:30:10 6681

原创 备忘:win10下共享(samba)给CentOS-6

高能警告:win10默认自动升级,并各种错误、蓝屏、无端端重启,截止目前为止,未升级win10切不要升。坑Win10开启某目录共享后,出现win系列机器能ping通,linux系必需将Win10的防火墙关闭才行。CentOS-6中smbfs文件系统已不支持,要使用cifs,安装:yum install cifs-utils.x86_64 -ymount -t cifs -o username

2016-03-07 11:47:28 4303

原创 nginx的http2.0性能太逆天了,HTTPS网站性能优化

背景我们七层负载层,使用了5台24U+64G内存的物理机支行nginx做https加解密与proxy_pass。每天上下班时段,5台机CPU基本在50%左右,算是计算型。 优化手段:keepalive、换TLS1.2加密算法优化(参考:1,2)等,收效不大。 特别简明一下keepalive选项,不论服务端如何支持,关键是客户端不跟你keep,你玩个屁。测试过程硬件: 24U+64G物理机2台,

2016-03-03 12:20:35 34719 1

原创 备忘:CentOS-7 使用systemctrl 管理的服务,文件打开数上限1024要改

改要 文件 中 /etc/systemd/system.conf  以下两个值DefaultLimitNOFILE=1024000DefaultLimitNPROC=1024000并且要重启机器 --- 反正 我是直接重启机器如不改,systemctrl start mysqld  无论配置怎么改,最大文件数上限都是1024

2015-12-31 10:56:53 6417 2

原创 GoLang Channel与mutex的选择,性能差不多

go官方应该是更推荐使用chan https://github.com/golang/go/wiki/MutexOrChannel以下代码用于测试性能 — 不确保思路是正确的。package mainimport ( "fmt" "sync" "time")type Op struct { key int val int}var lock sync.Mu

2015-11-17 17:37:27 5367

原创 bash: ulimit: open files: cannot modify limit: Operation not permitted

# ulimit -n 10000000-bash: ulimit: open files: cannot modify limit: Operation not permitted遇到这个错,要加大 /etc/sysctl.conf 中的两个值 fs.nr_open,进程级别, nr_open 总是应该小于等于 fs.file-max。 fs.file-max,系统级别马上生效:

2015-11-16 21:58:49 3869

原创 利用openresty-lua生态修改upstream后端服务

0.动态upstream的好处openresty作者,最近也要开源(在我编写此文章时还没开源)他们已经使用的balancer-by-lua 特性,进展issues。能动态修改upstream,使用反向代理proxy_pass, 对后端进程或机器进行:动态的负载均衡控制;平滑上下线服务,升级服务;高可能保证–自动踢离线服务下线;1.先说原理想法参考自<http://sosedoff.com/2

2015-11-04 10:01:11 15666

原创 [Elasticsearch]查询语法速查

0x01 基本语法基本语法是 [GET|POST] http://domain.com/you_index_name/type1,type2/_search{?search_type=count|scan|…} 注意,随着ES版本变化,搜索语法也有小调整。本文以1.7为准。全基于rest式http调用。 其中GET方法支持在body传参数。_search 是关键字,以此结束表示搜索行为,可以

2015-10-29 17:43:45 27059 1

原创 官方mysql数据跨多硬盘方案,执行重建或修复表时,会使mysqld崩溃

MySQL遇到单硬盘IO性能不足时linux下 可使用软链对目录甚至单个文件解决跨硬盘问题。注意的是,官方并不推荐,官方文档 中说可能遇到不可预知的问题。 实践中,我试过对目录进行建软链,生产环境下,过100G的数据,没问题。对单个*.ibd文件建软链,正常的sql也不会有问题。但alter语句–重建表时,就直接把软链文件当文件复写,即跨硬盘的目标.ibd文件直接被无视。官方的跨硬盘方案是:

2015-10-15 12:44:46 2561

原创 通过触发器解决统计,count(*)问题

单表过千万,以按用户分表1024个,count(*)统计还是会慢 所谓的慢,是指高并发了,MySQL就痿了。SAS硬盘,随机IO速率到达10~15M,IO就基本是100%了。这时就呵呵了。CPU有巨大的剩余也没用,内存也帮不上忙,只能SSD才能解决。 所谓通过外问程序--异步事件之类的,去加1,减1地统计结果--好像是一种方案。最终上线后,数据量一大,并发量一大,数据最后出来负数---

2015-10-09 20:08:17 4596

原创 一个TCP连接池的自我修养-如mysql-client、http-client、redis-client

单服单天过亿请求中,出现0.0001%的500怎么回事?日志中不定时出现 mysql gone away,connect timeout, reset by beer等错,原因不明。access-log同样不定时出现5xx错。感觉MySQL运行正常,没压力,没慢查,sql使用主键查询–不知道问题在哪?连接mysql的代码使用keepalive。这个时候,你是否怀疑过是连接库的问题?一个TC

2015-10-09 19:57:59 3975 1

原创 当django出现500时,邮件报告敏感信息过滤功能-- 1.4以上版本支持。

使用方法https://docs.djangoproject.com/en/dev/howto/error-reporting/#django.views.decorators.debug.sensitive_post_parameters

2014-05-23 11:50:42 1029

原创 python-requests 必需如下使用才能保持keep-alive

python-requests 必需如下使用才能保持keep-aliveimport requestssession = requests.session()session.get('http://www.qq.com')session.get('http://www.qq.com')#输出如下>>INFO:requests.packages.urllib3.connecti

2014-05-13 17:57:16 28847 2

原创 iptables restart后不会重载sysctrl.conf的配置,需要代表性iptables-config文件

解决方法来自:http://serverfault.com/questions/471464/yum-not-updating-etc-rc-d-init-d-iptables

2014-04-22 10:28:59 2981

原创 进程启动后使用taskset进行cpu绑定

[root@177qing ~]# cat cpu_affinity.sh #!/bin/shopenresty=/usr/local/openresty/nginx/sbin/nginxnginx=/usr/local/nginx/sbin/nginxtaskset_affinity_cpu(){ exec=$1 pid=`ps -ef| grep $exec | awk '

2014-04-11 16:07:33 1792

转载 salt-minion重启自己的方法

参考https://github.com/jollyroger/salt-states/blob/master/salt/minion/init.slsrestart_minion:  cmd.wait:    - name: "echo 'invoke-rc.d salt-minion restart'|at now + 1 min"    - order: last    - watch:

2014-03-11 17:53:48 4826

原创 uwsgi使用经验, uwsgi异步任务

1. nginx 报 readv() failed uwsgi+nginx搭建的server,发现当用post请求时,会返回数据超时。查了一下nginx中的error.log:[error] 16833#0: *158 readv() failed (104: Connection reset by peer) while reading upstream, client: 10.20.1

2013-06-25 15:50:14 5423

原创 [例子]Linux下shell批处理文件的几种方法

附上网友们总结出来的方法如下(以批量解压tar文件为例):第一:for tar in *.tar.gz; do tar xvf $tar; donefor tar in *.tar.bz2; do tar xvf $tar; done第二:用tar命令批量解压某个文件夹下所有的tar.gz文件ls *.tar.gz | xargs -n1 tar xzv

2013-06-08 12:20:59 5619

转载 [转]Nginx 做负载均衡的几种轮询策略

转自http://blog.sina.com.cn/s/blog_9c3ba23d01010rof.html一、nginx的upstream目前支持负载均衡方式的分配1、RR(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。例如: upstream tomcats { server 10.1.1.107:88

2013-06-04 10:07:46 1846

原创 使用celery中的schedule起定时任务,或叫计划任务

参看:http://stackoverflow.com/questions/5361521/celery-task-schedule-celery-django-and-rabbitmqcelery 文档:http://docs.celeryproject.org/en/master/userguide/periodic-tasks.html

2013-03-12 18:23:40 7459

原创 真正的No module named _imagingft的解决方案

wget http://effbot.org/downloads/Imaging-1.1.6.tar.gz直接build 你会发现依赖库JEPG 或者freetype2没有。[root@qing186 Imaging-1.1.6]# python setup.py buildrunning buildrunning build_pyrunning build_ext----

2013-03-08 15:56:45 1686

原创 django+celery注意事项

按照celery官方文档:configuring-your-django-project-to-use-celery有个比较坑爹的事,task的定义必需要在 tasks.py 文件即加入到 INSTALLED_APPS = ( 'proj.app') 在app目录下必需有一个tasks.py文件定义异步任务。补充:另一个方法是在settings中加入:CELER

2013-02-26 11:01:56 1627

原创 [备忘]mysql中varchar中后面的长度能保存几个中文字符-UTF8下

CREATE TABLE `t1` ( `name` varchar(4) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8 上面这个表,name字段只能保存4个utf8字符,即4个中文。insert into t1(name) values('天才我才必有用');结果:mysql> select * from t1;

2013-01-17 11:44:58 856

原创 坑爹阿,python 2.x 的版本中,binascii.crc32计算出来的crc32带负号

In [32]: binascii.crc32("我们")Out[32]: -603163415根據官方文件,在 Python 2.x 的版本中,binascii.crc32 所計算出來的 CRC 值域為 [-2^31, 2^31-1] 之間的有號整數,為了要與一般 C 所實作的 CRC 結果作比對,需要將其轉為無號整數,所以加上「& 0xffffffff」這段來做轉換。如果是 Pyt

2013-01-08 11:15:32 5172 2

原创 windows下使用boost编译levelBD小记。

使用boost编译leveldb的好处是xp下能用,本博客上一篇文章编译出来的因为不是使用google官方代码,编译出来不支持xp。本次使用官方源,windows分支,xp运行通过。一)。下载boost :http://iweb.dl.sourceforge.net/project/boost/boost/1.52.0/boost_1_52_0.tar.bz250多M,

2012-12-28 11:45:45 2929

原创 windows下编译python的levelDB库

本人使用的是python2.6, 32位,附上编译出来的dll , [不支持xp]http://download.csdn.net/detail/toontong/4933540支持xp的下载:http://download.csdn.net/detail/toontong/4938865 levelDB的官方库在这: http://code.google.com/p/le

2012-12-27 13:13:05 7984

转载 Python扩展问题”unable to find vcvarsall.bat“的解决

转自:http://www.linuxidc.com/Linux/2011-08/39722.htm解决方法是》比较hack的方法是直接修改C:/Python32/Lib/distutils/msvc9compiler.pydef find_vcvarsall(version): return r'C:\Program Files (x86)\Microsoft V

2012-12-27 11:29:49 5086

pycrypto-2.6.win32-py2.6.ex

pycrypto-2.6.win32-py2.6.exe

2013-03-06

leveldb-0.1 for windows support XP.win32-py2.6.exe

leveldb-0.1 for windows support XP.win32-py2.6.exe 上次上传的一个版本不支持xp,此版本支持xp

2012-12-28

python-leveldb 32位 windows

python-leveldb库, python2.6 32位 for windows

2012-12-27

python-cjson-1.0.5.win32-py2.6.exe

python-cjson-1.0.5.win32-py2.6.exe

2012-06-14

ujson-1.18.win32-py2.6.exe

ujson-1.18.win32-py2.6.exe python的json极速解释库,windows版 在我机子上跑出来的结果 D:\src\ujson-1.18\tests>python benchmark2.py ujson decode : 404.85833 calls/sec simplejson decode : 33.34445 calls/sec cjson decode : 246.91360 calls/sec ujson encode : 460.82948 calls/sec simplejson encode : 4.23280 calls/sec cjson encode : 87.03219 calls/sec

2012-06-14

devcpp-4.9.9.2_setup.exe

devcpp-4.9.9.2_setup.exe

2007-11-20

深入浅出ARM7-LPC213x_214x(上)

深入浅出ARM7 深入浅出ARM7-LPC213x_214x(上

2007-11-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除