http://www.ywnds.com/?p=7488 http://imysql.com/2016/11/30/mysql-faq-find-who-cause-mysql-swap.shtml free -gt 查看内存、SWAP消耗情况 尤其是参加过 知数堂培训MySQL DBA优化班课程 的同学应该都知道,我们在课上多次强调:遇到这种情况,第一条件反射很直接就是:发生内存泄露(memory leak)了。 一般来说,如果发现内存统计结果中,cached和used 相差特别大的话,基本可确定系统发生内存泄露。相应的处理手法有: 治标的办法:择机重启进程,彻底释放内存归还给OS; 治本的办法:找到代码中导致泄露的代码,修复之(我们这次面对的是mysql代码,还是去官方提交bug吧,哈哈); 治本的办法:升级程序版本,通常新版本会解决旧版本存在的问题,推荐此方案。 物理内存还有不少空闲,但把swap都耗尽了。同样滴,这种案例在我们知数堂的MySQL DBA培训课程里也被多次谈及,绝大多数情况是因为没有关闭NUMA引起的。在运行数据库进程的服务器上,强烈建议关闭NUMA,在之前的分享 比较全面的MySQL优化参考(上篇) 中也有提及。

繼續閱讀

http://www.ywnds.com/?p=7411 Docker Hub是一个很好的用于管理公共镜像的地方,我们可以在上面找到想要的镜像(Docker Hub的下载量已经达到数亿次) Registry作为Docker的核心组件之一负责镜像内容的存储与分发,客户端的docker pull以及push命令都将直接与registry进行交互

繼續閱讀

http://www.ywnds.com/?p=7015 多人都对Volume有一个误解,他们认为Volume是为了持久化。如此想法是因为他们觉得容器不能持久化,所以Volume应该是为了满足这个需求而设计的。其实容器会一直存在,除非你删除它们。这可能来自于容器不是持久的想法,这样确实是不对的。容器是持久的,直到你删除他们 Volume并不是为了持久化。而Volume可以使用以下两种方式创建: 1)在Dockerfile中指定VOLUME /data。 2)执行docker run -v /data命令来指定。 无论哪种方式都是做了同样的事情。它们告诉Docker在主机上创建一个目录(默认情况下是在/var/lib/docker下),然后将其挂载到指定的路径(例子中是:/data)

繼續閱讀

mariadb galera cluster

https://mariadb.com/kb/en/mariadb/galera-cluster-status-variables/ http://www.ywnds.com/?p=6084 http://benjr.tw/95536 http://www.99cloud.net/html/2016/jiuzhouyuanchuang_0316/131.html SHOW GLOBAL STATUS LIKE ’wsrep_%’; (1)SHOW GLOBAL STATUS LIKE ’wsrep_cluster_state_uuid’; 集群中每个节点的值必须一致。 (2)SHOW GLOBAL STATUS LIKE ’wsrep_cluster_size’; 显示集群的规模,此例应该显示”2”。 (3)SHOW GLOBAL STATUS LIKE ’wsrep_cluster_status’; 显示”Primary”为正常。 (4)SHOW GLOBAL STATUS LIKE ’wsrep_ready’; 显示”ON”为正常。 (5) SHOW GLOBAL STATUS LIKE ’wsrep_connected’; 显示”ON”为正常。 (6) SHOW GLOBAL STATUS LIKE ’wsrep_local_state_comment’; 显示” Joined”为正常。

繼續閱讀

sysbench mariaDB

http://www.actionsky.com/docs/archives/171 http://www.slideshare.net/yejr/my-sql-20131020?ref=http://imysql.com/2013/11/19/mysql-benchmark-testing.shtml ========== apt-get install sysbench 建table、records sysbench –debug=on –test=oltp –db-driver=mysql –mysql-table-engine=innodb –oltp-table-size=1000000 –mysql-user=root –mysql-password=oooxxx –mysql-host=10.255.255.215 prepare 測試 sysbench –num-threads=16 –max-requests=100000 –debug=on –test=oltp –db-driver=mysql –mysql-table-engine=innodb –oltp-table-size=1000000 –mysql-user=root –mysql-password=oooxxx –mysql-host=10.255.255.215 run 清掉table、records sysbench –debug=on –test=oltp –db-driver=mysql –mysql-table-engine=innodb –oltp-table-size=1000000 –mysql-user=root –mysql-password=oooxxx –mysql-host=10.255.255.215 cleanup https://blog.gslin.org/archives/2015/09/13/5971/%E7%94%A8-sysbench-%E6%B8%AC%E8%A9%A6-mysql-%E6%95%88%E8%83%BD/ http://blog.xuite.net/misgarlic/weblogic/56170203-MySQL+benchmark+tool+-+sysbench http://hugnew.com/?p=737 ========== http://who0168.blog.51cto.com/253401/556300/ [root@localhost bin]# ./sysbench 测试用例: sysbench [general-options]… –test=[test-options]… command 通用选项: --num-threads=N 创建测试线程的数目。默认为1. --max-requests=N 请求的最大数目。默认为10000,0代表不限制。

繼續閱讀

作者的圖片

Sue boy

Sueboy Can support You

CIO

Taiwan