- MySQL 5.5迁移到5.7的性能问题排查案例 08-09
- 利用Python无限爆破路由器密码,限制错误次数?对 08-08
- 将MongoDB数据加载到Elasticsearch 08-08
- mongodb aggregate 聚合管道分组查询 08-08
- linux内存性能分析 08-08
- Linux 安全关机——shutdown 08-08
- 渐进式学习 Linux 08-08
- Linux Shell for in 输出数组 08-08
- “懒惰”的 Linux 管理员都会的 10 个关键技 08-08
- 如何查看Linux当前缓存实用工具 08-08
MySQL 5.5迁移到5.7的性能问题排查案例
发布者: PHPYuan | 发布时间:2018-08-09最近和同事排查了一个MySQL的SQL性能问题。问题的背景是有一个业务的数据库从MySQL 5.5迁移到了MySQL 5.7,原来在5.5中有一个SQL秒级就能完成,但是在5.7版本中执行时间长了好多,业务也产生了延迟。
按道理5.7的功能和改进更多,比5.5要更稳定,出现这样的问题,其实是比较奇怪的,从我们的初步理解来看,方向应该是优化器参数的影响。在MySQL中有一个优化器的总开关optimizer_switch,这个参数真是包罗万象,里面包含了很多优化器属性,优化器属性都可以通过这个总开关进行启用和关闭。
优化器开关参数opertimizer_switch的属性还是很多的,比如我们可以看到一些高级的优化器开关ICP,MRR,BKA等等。
>>show variables like '%optimize%';
| optimizer_switch | index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nest
利用Python无限爆破路由器密码,限制错误次数?对Python无用!
发布者: PHPYuan | 发布时间:2018-08-08在院子里面看到了一个没人用的路由器(ws860s),看起来像个黑科技的玩意儿,就想着进去看看,到底有什么好玩的。看到后面的标签上有web界面的地址,然后登陆进去看看,发现有密码,然后我想,路由器的密码应该都是可以reset的,然后我就用笔戳那个reset键,奇迹没有发生,原来这个reset键坏了。
"createUtcTime": { $gte: 1533332000000, $lte: 1543139200000}
}
},
{
$group: {_id : {column1:"$column1",column2:"$column2"} , count : {$sum : 1}}
}
]);
match 匹配查询
group 分组
/../ 模糊查询
$gte 大于等于
$gt 大于
$lte 小于等于
$lt 小于
分组求和
linux内存性能分析
发布者: PHPYuan | 发布时间:2018-08-08step1,top 命令查看 内存占用情况
主要的指标
注意:buffer cache 缓冲器高速缓冲存储器。是linux利用空余内存更好的优化应用程序的读写,这一部分内存在应用程序内存不够的时候linux会请求释放
可以yum install iotop,通过iotop查看进程利用情况
step2,如果应用程序占用较高
可通过jmap 分析应用内存利用情况
jmap -histo:live 8888 | head -n 100
Linux 安全关机——shutdown
发布者: PHPYuan | 发布时间:2018-08-08原因:由于Linux是多用户,多任务操作系统,其所有程序或服务都是在后台运行,当前用户使用时,后台可能也有很多用户在使用;关于数据,系统在处理数据的时候,基本上都是先保存在内存中,在一定时间后才会写入硬盘,做持久化;基于以上两个要求,安全关机要做下以下:观察系统状态:who --> 当前在线用户;netstat -a -->网络状态;ps -aux -->当前后台执行的程序;手动同步内存数据到硬盘做持久化 : sync 命令通知在线用户关机时间 : shutdown 命令可实现使用正确的关机命令 : shutdown 、 reboot等Shutdown 命令详解:
可实现的功能:
自由选择关机模式: 关机?重启?进入单用户械?设置关机时间: 定时或立刻?自定义关机信息:将关机信息发送给在线用户仅发出警告,并不关机: shutdown 实现是否要用fsck检查文件系统语法:
shutdown [-t 秒] [-arkhncfF] [时间] [警告信息]
参数说明,如果不加入时间参数,则会进入单用户模式:
-t sec : 多少秒后关机-k : 不关机,只发警告-r : 停止服务后重启-h : 停止服务后关机-n : 不经过init,直接关机-f : 关机并启用后,强制略过fsck的磁盘检查-F : 重启后,强制进行fsc渐进式学习 Linux
发布者: PHPYuan | 发布时间:2018-08-08学习步骤:硬件基础知识,至少听过或者有概念了解Linux的基础知识,如:用户、用户组的概念、权限概念、程序的定义vi或者vim文字编辑器,处理文字基本都要使用到 -- 【重点】Shell学习与其脚本的学习 ---【重点】网络部分 -- IP的概念、路由、TCP/IP
相关的参考网站:
http://www.study-area.orghttp://linux.vbird.orgFAQ相关:
/usr/share/doc # Linux 自带的文档http://www.tldp.orghttp://www.linux.org.tw学习建议:系统的设计文件目录,不要到处保存,否则会无法记得它和它的作用养成做记录的习惯,把错误信息、引发问题的状况与解决方法记录并归档,定期整理网络上好的文档也要保存,并自己归档整理作为用户,人要迁就机器;作为开发人员,要机器迁就人边学,边“偷”,再从“偷”中改,改则变,变则通 ---->把抄也说得这么光明正大!不同环境下,解决问题的办法有多种,只要行得通,就是好方法系统帮助文档
MAN /usr/share/manINFO /usr/share/infoLinux说明 /usr/share/doc : 包括一些软件包的帮助文档Linux Shell for in 输出数组
发布者: PHPYuan | 发布时间:2018-08-08PHP思想:
$arr = array(1, 54, 6, 2); for.... 或者 foreach($arr as $item)..
在Shell里面定数组定义:
$arr=(1, 2, 5, 3) ;
输出为:
for item in $arr[@]
do
echo ${item}
done
在Shell中,不能直接使用 $arr这个变量,错误的写法:
for item in $arr
do
echo ${item}
done
如果使用字符串的形式定义数据:
$arr="123 456 abc"
echo $item[$index] # 就不能使用这样的索引来输出数组了
“懒惰”的 Linux 管理员都会的 10 个关键技巧
发布者: PHPYuan | 发布时间:2018-08-08好的系统管理员区分在效率上。如果一位高效的系统管理员能在 10 分钟内完成一件他人需要 2 个小时才能完成的任务,那么他应该受到奖励(得到更多报酬),因为他为公司节约了时间,而时间就是金钱,不是吗?以下这些技巧可以节约时间 —— 即使没有因为高效而得到更多的报酬,但至少可以有更多的自由支配时间。
技巧 1:卸载无响应的 DVD 驱动器
网络新手的经历:按下服务器(运行基于 Redmond 的操作系统)DVD 驱动器上的 Eject 按钮时,它会立即弹出。他然后抱怨说,在大多数企业 Linux 服务器中,如果在那个目录中运行某个进程,弹出就不会发生。作为一名长期的 Linux 管理员,我会重启机器。如果我不清楚正在运行什么,以及为何不释放 DVD 驱动器,我则会弹出磁盘。但这样效率很低。
下面介绍如何找到保持 DVD 驱动器的进程,并轻松弹出 DVD 驱动器:首先进行模拟。在 DVD 驱动器中放入磁盘,打开一个终端,装载 DVD 驱动器:
# mount /media/cdrom
# cd /media/cdrom
# while [ 1 ]; do echo "All your drives are belong to us!"; sleep 30; done
现在打开第二个终端并试着弹出 D
如何查看Linux当前缓存实用工具
发布者: PHPYuan | 发布时间:2018-08-08Linux用户可能经常遇到的一个问题是内存大部分都被Buff和Cache占用了,但是有时候我们想知道到底Cache了些什么内容却没有一个直观好用的工具。今天给你介绍一个可以查看Linux当前缓存了哪些文件的小工具hcache。
hcache
hcache是基于pcstat的,pcstat可以查看某个文件是否被缓存和根据进程pid来查看都缓存了哪些文件。hcache在其基础上增加了查看整个操作系统Cache和根据使用Cache大小排序的特性。
官网:https://github.com/silenceshell/hcache
安装
hcache是使用GO开发的,安装非常简单,开箱即用。
使用
查看使用Cache最多的3个进程。
