寻觅生命中的那一片浅草......

SecureCRT标签显示目标机器的PS1值

用SecureCRT登录到堡垒机,然后ssh到目标机器,此时SecureCRT的标签名还是原来的,容易误操作,可以把下面的代码放入到目标机器的配置文件中,当ssh过去的时候,SecureCRT的标签名就会变成目标机器的PS1值

# vi ~/.bash_profile
echo -ne "\e]1;$(awk -F' |@' '/PS1/{print $(NF-2)}' ~/.bashrc)\a"

zz:自动补完不算什么,一键直达目录才是终极神器!

在命令行中切换目录是最常用的操作,不过很少有比一遍又一遍重复“cd ls cd ls cd ls ……”更令人沮丧的事情了。如果你不是百分百确定你想要进入的下一个目录的名字,那么你不得不使用ls来确认,然后使用cd来进入你想要进的那一个。所幸的是,现在大量的终端和shell语言提供了强大的自动补全功能来处理该问题。但是,你仍然需要一直疯狂地敲击TAB键来干这事。如果你和我一样懒惰,你一定会对autojump感到惊喜。

autojump是一个命令行工具,它允许你可以直接跳转到你喜爱的目录,而不用管你现在身在何处。

更多请参考:自动补完不算什么,一键直达目录才是终极神器!

php-fpm的status和ping

php-fpm提供了状态输出,可以通过它来做些监控

修改php-fpm.conf

vi php-fpm.conf

# status
pm.status_path = /php_status

# ping
ping.path = /php_ping

修改fastcgi_params,解决访问php-fpm的status,显示空白页面的问题

vi nginx/conf/fastcgi_params
# 添加
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_script_name;

添加Nginx虚拟主机

server
{
    listen       80;
    server_name  localhost;
    location ~ ^/(php_status|php_ping)$ 
    {
        access_log off; 
        allow 127.0.0.1;
        deny all;
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:10080;
    }
}

这样就可以了,测试

curl http://localhost/php_status
curl http://localhost/php_ping

绕过Nginx,直接测试cgi

绕过Nginx,直接测试cgi

例如我们测试php-fpm的status状态页

# 安装fcgi 
yum -y install fcgi

# 开始测试
SCRIPT_NAME=/php_status \
SCRIPT_FILENAME=/php_status \
QUERY_STRING= \
REQUEST_METHOD=GET \
cgi-fcgi -bind -connect 127.0.0.1:10080

mysqldump引起MySQL内存飙升事例一则

最近有台MySQL,在运行一段时间后,res和virt内存都会去到很高,res会占到物理内存的90%,最终导致业务异常

期间做过的尝试:

  • 用tcpcopy来把生产环境的流量导到测试服,但MySQL内存并无异常
  • 将innodbfilepertable=1修改为innodbfilepertable=0,运行1天后,内存飙升还是比较厉害

上面的措施都没有用。

下面这个,不确定有没有试过,也记录下吧

mysqldump -q,就是把数据尽快写到磁盘,而不是存在内存

最后是同事看监控,发现在凌晨,MySQL备份后,内存才飙升,我们最后定位到MySQL内存异常的原因是以下2个:

  • xxx_db下表太多:近2W了,一个区服就一个表来寸配置
  • 由于表太多,下面的指令把整个库的表结构导出来的时候,估计会把整个结构先写入内存,但理论上,这个表结构不会大
mysqldump -d $1 > $1_db_struc.sql

解决办法:

  • 不导整个库的结构,一个表一个表地导(这个也是目前的做法),或者直接就不导结构,因为都是一样的
  • 减少表数量,我们后来把它改为了这种方式,单个表存所有区服的信息
2025年五月
« 5月    
 1234
567891011
12131415161718
19202122232425
262728293031