博文

nginx 日志分析及性能排查

图片
如果需要得到请求处理的时间,需要在nginx log 里面加上$request_time,下面是我的log_format nginx.conf log_format main ' $remote_addr - $remote_user [ $time_local ] " $request " ' ' $status $body_bytes_sent $request_body " $http_referer " ' '" $http_user_agent " " $http_x_forwarded_for " " $request_time "' ; 修改之后重启nginx,查看nginx log的时候,就能看到nginx处理请求所花的时间了,这个时间基本就是后端所花的时间,所以可以根据这个字段来得到响应慢的请求 以下是就是我用到的一些命令了 获取pv数 $ cat /usr/ local /nginx/logs/access.log | wc -l 获取ip数 $ cat /usr/ local /nginx/logs/access.log | awk '{print $1}' | sort -k1 -r | uniq | wc -l 获取最耗时的请求时间、url、耗时,前10名, 可以修改后面的数字获取更多,不加则获取全部 $ cat /usr/ local /class/logs/access.log | awk '{print $4,$7,$NF}' | awk -F '"' '{print $1,$2,$3}' | sort -k3 -rn | head -10 获取某一时刻的请求数量,可以把秒去掉得到分钟的数据,把分钟去掉得到小时的数据,以此类推 $ cat /usr/ local /class/logs/access.log | gre...

CDB用户删除数据后,空间不立即释放问题

1, CDB中如果只是delete删除的部分数据,空间不会释放的,只是标记后面可用 (delete数据后可以执行optimize table tbl_name;才会释放空间)。 所以需要先确认用户是否是使用delete删除的数据,并且是否有使用optimize命令压缩了表。 注意:使用optimize命令优化表,会锁表,所以建议用户在业务维护时间进行操作,以免影响正常业务连接数据库。 如果是innodb的表,可以通过alter命令释放空间,如: mysql> ALTER TABLE yejr ENGINE = InnoDB; 如果是删除整个表的数据,使用drop和truncate表操作,可以立即释放空间。 2,如果用户表删掉后,控制台的前端页面显示已使用空间,显示已使用空间更新会滞后。

Centos 安装ImageMagick 与 imagick for php步骤详解

现在有很多朋友在使用安装ImageMagick imagick for php了,今天自己也想做但是不知道如何操作,下面我来给大家介绍Centos 安装ImageMagick imagick for php步骤,各位同学可参考。 关于什么是ImageMagick ImageMagick是一套软件系列,主要用于图片的创建、编辑以及转换等 Centos 安装ImageMagick 1. 依次运行以下命令  代码如下 复制代码 yum install ImageMagick yum install ImageMagick-devel yum install php-pear [for PECL] 安装php-pear是为了使用pecl 中的 phpize , ?]的???霈F ERROR: `phpize’ failed  代码如下 复制代码 yum -y install php-devel 2. 安装C编译器  代码如下 复制代码 yum install gcc 如果装不了gcc就用这个命令:  代码如下 复制代码 yum install gcc gcc-c++ autoconf automake 3. 安装imagick  代码如下 复制代码 pecl install imagick 4. 加载imagick到php 在/etc/php.ini 加上extension=imagick.so 5. 重启service httpd restart 6. 使用 phpinfo() 或运行 php -m | grep imagick 来查看是否安装成功 另一种安装安装ImageMagick 与 imagick for php方法 1. 下载安装ImageMagick  代码如下 复制代码 wget ftp://mirror.aarnet.edu.au/pub/imagemagick/ImageMagick-6.6.8-10.tar.gz tar -xzvf ImageMagick-6.6.8-10.tar.gz ./configure --prefix=/usr/local/imag...

Thinkphp压缩HTML,minify(兼容Windows和Linux)

因为自己搭建的网站是centos服务器,所以windows那套压缩html不好用,自己搜索找到了thinkphp压缩html的方法,可以兼容nginx和windows: 1、首先下载minify.class.php 下载地址:http://www.thinkphp.cn/code/download/id/355.html 这里注意修改代码如下,不然js会被吃掉         /**          * if (isset($javascript_mini))         {           preg_match_all('{<script.+</script>}msU', $output, $javascript_messed);           $output = str_replace($javascript_messed[0], $javascript_mini, $output);         }          */ 然后,把这个文件,放在Library/Think/下,记得修改命名空间 2、修改view.class.php代码,如下 if   ( C ( 'MINIFY' ))   { echo  Minify :: compress ( $content ); }   else   { echo $content ; } 注:最好的方法是将这里的render方法,添加一个参数,根据这个参数判断是否压缩。 不然所有页面都给压缩了,会有个问题。比如我需要个不需要压缩的xml文件,就无法实现。 3、添加配置文件 'MINIFY'   =>   true 然后刷新网页,任务完成 ...

mysql 批量替换表前缀方法

SELECT     CONCAT(         'ALTER TABLE ',         table_name,         ' RENAME TO i_',         substring(table_name, 4),         ';'     ) FROM     information_schema. TABLES WHERE     table_name LIKE 'yy%'; SELECT a.*, concat( 'alter table ', a.TABLE_NAME, ' rename ge_', SUBSTR( a.TABLE_NAME FROM INSTR(a.TABLE_NAME, '_') + 1 ), ';' ) FROM information_schema.`TABLES` a WHERE a.TABLE_SCHEMA = 'shiye';

外网访问腾讯云redis内网服务的方法

centos:6.* iptables 本机(192.168.1.7)的6198 转发到172.16.0.11的6379 [root@kvm-server conf]# iptables -t nat -A PREROUTING -p tcp -m tcp --dport 6198 -j DNAT --to-destination 172.16.0.11:6379 [root@kvm-server conf]# iptables -t nat -A POSTROUTING -d 172.16.0.11/32 -p tcp -m tcp --sport 6379 -j SNAT --to-source 192.168.1.7 [root@kvm-server conf]# iptables -t filter -A INPUT -p tcp -m state --state NEW -m tcp --dport 6198 -j ACCEPT centos:7.* firewall firewall-cmd --query-masquerade firewall-cmd --add-masquerade # 将80端口的流量转发至8080 firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 # 将80端口的流量转发至 firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.0.1192.168.0.1 # 将80端口的流量转发至192.168.0.1的8080端口 firewall-cmd --add-forward-port=port=6198:proto=tcp:toaddr=172.16.0.11:toport=6379

vue webstrom报错 Expected indentation of 2 spaces but found 4

图片
"indent": ["error", 2]  - gives many  Expected indentation of 2 spaces but found 4 "indent": ["error", 4]  - gives many  Expected indentation of 4 spaces but found 8 "indent": ["error", 8]  - gives many  Expected indentation of 8 spaces but found 4 解决方法 \node_modules\eslint-config-standard\eslintrc.json "indent" : [ "error" , 4 , { "SwitchCase" : 1 } ] 参考链接: https://stackoverflow.com/questions/44737710/how-to-configure-eslint-indent-for-webstorm