MySQL优化

查看设置:

+——————————+———-+
| Variable_name | Value |
+——————————+———-+
| query_cache_limit | 1048576 | 超过此大小的查询将不缓存
| query_cache_min_res_unit | 4096 | 缓存块的最小大小
| query_cache_size | 67108864 | 查询缓存总大小
| query_cache_type | ON | Query Cache 功能的开关
| query_cache_wlock_invalidate | OFF | 当有其他客户端正在对MyISAM表进行写操作时,如果查询在query cache中,是否返回cache结果还是等写操作完成再读表获取结果。
+——————————+———-+

查看状态

+————————-+———-+
| Variable_name | Value |
+————————-+———-+
| Qcache_free_blocks | 3 | 缓存中相邻内存块的个数。数目大说明可能有碎片。FLUSH QUERY CACHE会对缓存中的碎片进行整理,从而得到一个空闲块。
| Qcache_free_memory | 63319944 | 缓存中的空闲内存。
| Qcache_hits | 854 | 每次查询在缓存中命中时就增大
| Qcache_inserts | 386 | 每次插入一个查询时就增大。命中次数除以插入次数就是不中比率。
| Qcache_lowmem_prunes | 0 | 缓存出现内存不足并且必须要进行清理以便为更多查询提供空间的次数。这个数字最好长时间来看;如果这个 数字在不断增长,就表示可能碎片非常严重,或者内存很少。
| Qcache_not_cached | 14 | 不适合进行缓存的查询的数量,通常是由于这些查询不是 SELECT 语句或者用了now()之类的函数。
| Qcache_queries_in_cache | 290 | 当前缓存的查询(和响应)的数量。
| Qcache_total_blocks | 630 | 缓存中块的数量。
+————————-+———-+

query_cache_min_res_unit的配置是一柄”双刃剑”,默认是4KB,设置值大对大数据查询有好处,但如果查询都是小数据查询,就容易造成内存碎片和浪费。

查询缓存碎片率 = Qcache_free_blocks / Qcache_total_blocks * 100%
查询缓存利用率 = (query_cache_size – Qcache_free_memory) / query_cache_size * 100%
查询缓存命中率 = (Qcache_hits – Qcache_inserts) / Qcache_hits * 100%

如果查询缓存碎片率超过20%,可以用FLUSH QUERY CACHE整理缓存碎片,或者试试减小query_cache_min_res_unit,如果查询都是小数据量的话。
查询缓存利用率在25%以下的话说明query_cache_size设置的过大,可适当减小;查询缓存利用率在80%以上而且Qcache_lowmem_prunes > 50的话说明query_cache_size可能有点小,要不就是碎片太多。
示例服务器 查询缓存碎片率 = 20.46%,查询缓存利用率 = 62.26%,查询缓存命中率 = 1.94%,命中率很差,可能写操作比较频繁吧,而且可能有些碎片。

相关经验:
如果Qcache_lowmem_prunes 值比较大,表示查询缓存区大小设置太小,需要增大。
如果Qcache_free_blocks 较多,表示内存碎片较多,需要清理,flush query cache
根据我看的 《High Performance MySQL》中所述,关于query_cache_min_res_unit大小的调优
,书中给出了一个计算公式,可以供调优设置参考:
query_cache_min_res_unit = (query_cache_size – Qcache_free_memory) / Qcache_queries_in_cache

世界上没有一个人是废物,只不过没有放对位置!

有一个男的,没考上大学,父母就给他找了个老婆结婚了,结婚后就在本村的小学教书。由于没有经验,不到一周就被学生轰下了台。回到家后,老婆为他擦了擦眼泪,安慰说,满肚子的东西,有人倒得出来,有人倒不出来,没必要为这个伤心,也许有更适合你的事情等着你去做。 

       后来,他外出打工,又被老板轰了回来,因为动作太慢。这时老婆对他说,手脚总是有快有慢,别人已经干很多年了,而你一直在念书,怎么快得了? 

       他又干过很多工作,但无一例外,都半途而废。然而,每次他沮丧地回来时,他老婆总安慰他,从没有抱怨。

       三十多岁时,他凭着一点语言天赋,做了聋哑学校的辅导员。后来,他又开办了一家残障学校。再后来,他在许多城市开办了残障人用品连锁店,他已经是一个拥有几千万资产的老板了。

有一天,功成名就的他问自己的老婆,自己都觉得前途渺茫的时候,是什么原因让你对我那么有信心呢?

       他老婆的回答朴素而简单。她说,一块地,不适合种麦子,可以试试种豆子;豆子也长不好的话,可以种瓜果;如果瓜果也不济的话,撒上一些荞麦种子一定能够开花。因为一块地,总有一粒种子适合它,也终会有属于它的一片收成。

        听完老婆的话,他落泪了!「老婆恒久而不绝的信念和爱,就像是一粒坚韧的种子;他的奇迹,就是这粒种子执著而生长出的奇迹!」

 "世界上没有一个人是废物,只不过没有放对位置! “

1.不懂珍惜,给你座金山也不会快乐。

2.不懂宽容,再多的朋友也终将离去。

3.不懂感恩,再优秀也难以成功。

4.不懂行动,再聪明也难以圆梦。

5.不懂合作,再拼搏也难以大成。

6.不懂积累,再挣钱也难以大富。

7.不懂满足,再富有也难以幸福。

8.不懂养生,再治疗也难以长寿。

有钱人和穷人的思维对比图

教你做个亿万富翁——亿万富翁养成记,富人喜欢赚钱,穷人喜欢挣钱,一字之差,产生两种命运。

 

一、对金钱的思维方式

穷人 有钱人
我办不到 我怎样才能办到
我不可能赢 我一定要赢
我不富有的原因是我有孩子 我必须富有的原因是我有孩子
要是我再年轻一点 我还很年轻
我受的教育有限 我会不断学习
要是我老爸给我留下…… 成功要靠自己
稳定的工作就是一切 不断进取才是一切
赚钱的时候要小心,别去冒风险 要学会管理风险
我没有资金 我想办法找资金
我可买不起 我想办法买得起
钱不好赚 赚钱很容易
贪财乃是万恶之源 贫困才是万恶之本
我对钱不感兴趣 我的爱好是让钱生钱
钱对我来说不重要 钱对我来说是人生价值
我要为赚钱而工作 我要让金钱为我工作
我从不富有 我是一个有钱人
这是一个贫穷的世界 这是一个富有的世界

 

二、看待问题的角度

穷人 有钱人
在问题面前束手无策 想办法解决问题
心灵是封闭的 头脑是开放的
观念是陈旧的 观念是崭新的
只说不做 语言後面跟着行动
看结果做事 看趋势做事
只看消极与失败的一面 先看积极和光明之处
在失败面前找藉口 在失败之後找原因
字典中总有「不可能」 字典中没有「不可能」
不愿合作,不会利用人际关系 喜欢与人合作,会利用人际关系
目光短浅,斤斤计较眼前得失 目光远大,不会计较一时之利益
总觉得时间富裕,无所事事 总觉得时间不够用,忙於做事
总想休息,工作并痛苦着 热爱事业,工作并乐着

 

三、理财的方式

穷人 有钱人
等待天上掉下礼物 不断寻找新的乳酪
渴望中奖 奠定基业
鸡蛋里挑骨头 只找下金蛋的鸡
期待不劳而获 知道只有付出才有收获
贫穷是长久的 破产是暂时的
努力存钱 不断地投资
千方百计节约钱财 想方设法创造财富
购买负债 购置资产
口袋空空,脑袋也空空 口袋充实,脑袋更充实
甘心打工 愿当老板
总想去远方寻找宝藏 钻石就在脚下

四、对待人生的选择

 

穷人 有钱人
抱守残缺,不知变革 锐意进取,开拓创新
遇到挫折就放弃,还没做事就失败了 跌倒了再爬起来,不达目的不甘休
什麽都想做 先做好一件事
总想找找个好工作 一心要办个好公司
总是更努力地工作 总是更聪明地工作
是别人船上的海员 是自己命运的舵手
空想家 梦想家
流浪汉 实干家
坐等最佳时机 抓住每一个机会
人生是迷途个羔羊 人生是惊醒的雄狮
做成事要靠运气 钻石就在脚下
寄希望於下一代 要给子女打天下

openssl“心脏出血”漏洞的检测与修复

wKiom1NIDfvhqFTjAAD9jUP8qCw976.jpg  近日,互联网爆发了被称为“心脏出血”式的严重安全事件。

那么这个事件对谁有影响呢?
答案是:普通上网者。比如,你登陆支付宝,淘宝,网银等账号密码可能被悄无声息窃取。

为什么呢?SSL协议是为网络通信提供安全及数据完整性的一种安全协议,也是互联网上最大的“门锁”。而此次曝出的Open SSL漏洞让这个“门锁”形同虚设,可以让攻击者获得服务器内存中的数据内容,甚至导致网络账户与密码、网银资金、电子邮件等重要信息的泄漏! “心脏出血”漏洞严重危害网站安全。

腾讯相关报道: http://tech.qq.com/a/20140410/015389.htm

如何检测:
一、Linux CentOS  (yum源服务已在第一时间更新网站openSSL版本并通过专业检测,但仍建议客户对帐号密码定期修改,避免风险。)

如果显示:
20140414174210说明已经修复了漏洞

二、Linux Ubuntu (默认安装的版本是安全的,版本号是libssl1.0.0)

如果显示:

说明已经修复了漏洞

 

如何修复:

一、Linux CentOS
1、推荐此方法,兼容性好

2、下载RPM安装包手动安装(主要适用于断网环境)

3、去openssl官网下载源码包编译安装

#重启nginx,完成漏洞修补。

二、Linux Ubuntu
1、APT-GET包管理器升级

2、去openssl官网下载源码包编译安装

#重启nginx,完成漏洞修补。

Linux清除用户登录记录和命令历史

清除登陆系统成功的记录,也就是last命令看到的记录

此文件默认打开时乱码的,里面可以看到ip等等信息

此时即看不到用户登录信息

清除登陆系统失败的记录,也就是lastb命令看到的记录
此文件默认打开时乱码的

此时就没有结果输出了


清除历史执行命令

或者,清空用户目录下的这个文件即可