前言 对于互联网公司来说,随着用户量和数据量的不断增加,慢查询是无法避免的问题。一般情况下如果出现慢查询,意味着接口响应慢、接口超时等问题。如果是高并发的场景,可能会出现数据库连接被占满的情况,直接导致服务不可用。 慢查询的确会导致很多问题,我们要如何优化慢查询呢? 主要解决办法有: 监控sql执行情况,发邮件、短信报警,便于快速识别慢查询sql 打开数据库慢查询日志功能 简化业务逻辑 代码重构、优化 异步处理 sql优化 索引优化 其他的办法先不说,后面有机会再单独介绍。今天我重点说说索引优化,因为它是解决慢查询…

2022年12月28日 0条评论 2352点热度 0人点赞 路灯 阅读全文

前言 我最近几年用MYSQL数据库挺多的,发现了一些非常有用的小玩意,今天拿出来分享到大家,希望对你会有所帮助。 1.group_concat 在我们平常的工作中,使用group by进行分组的场景,是非常多的。 比如想统计出表中,不同的 province 具体名称有哪些? 具体sql如下: select province from `weather_data` group by province; 但如果想把 province 相同的 city 拼接在一起,放到另外一列中该怎么办呢? 答:使用 group_con…

2022年12月28日 0条评论 2219点热度 0人点赞 路灯 阅读全文

简介 什么是SQL注入:所谓SQL注入就是通过把SQL命令插入到Web表单提交或输入域名或页面请求查询的字符串,最终达到欺骗服务器执行恶意的SQL命令,假如管理员没有对id参数进行过滤那么黑客可以通过数据传输点将恶意的SQL语句带入查询. sqlmap是基于注入的一个工具,从而达到轻松获取内容,比如以下命令可以自动扫描表单的sql注入漏洞,能不能扫描出来得看程序本身的了。 python3 sqlmap.py -u https://mdeve.com/wordpress/admin --batch --forms -…

2022年12月28日 0条评论 2346点热度 0人点赞 路灯 阅读全文

工具简介 Nikto是一个开源的WEB扫描评估软件,可以对Web服务器进行多项安全测试,能在230多种服务器上扫描出 2600多种有潜在危险的文件、CGI及其他问题。Nikto可以扫描指定主机的WEB类型、主机名、指定目录、特定CGI漏洞、返回主机允许的 http模式等。 功能介绍 以下是Nikto的一些主要功能: SSL支持(带有OpenSSL的Unix或带有ActiveState的 Perl / NetSSL的Windows ) 全面的HTTP代理支持 检查过时的服务器组件 以纯文本,XML,HTML,NBE或…

2022年12月28日 0条评论 2546点热度 0人点赞 路灯 阅读全文

简介 我们一般使用第三方的可视化插件nginx-module-vts进行Nginx的流量统计来实现性能监控的效果。安装教程可以看下这里《centos8编译nginx并安装nginx-module-vts模块》,本文只对该插件的使用做简单介绍。 下载 git clone git://github.com/vozlt/nginx-module-vts.git 配置文件 http { vhost_traffic_status_zone; server { location /status { vhost_traffic_…

2022年12月27日 0条评论 3177点热度 0人点赞 路灯 阅读全文

1. 前言 nginx模块五花八门,直接用dnf或yum安装的话会少了很多乐趣,这边我又看上了一个 nginx-module-vts 监控模块,这里把安装过程记录下来,以便以后安装用到。 2. 安装 libunwind-devel dnf install libunwind-devel 3. 安装 gperftools 优化nginx内存管理 git clone https://github.com/gperftools/gperftools.git ./configure --enable-frame-point…

2022年12月27日 0条评论 2896点热度 0人点赞 路灯 阅读全文

一、前言 在我前面的文章中有提到过 Nginx 反向代理相关知识——《Nginx实现反向代理》,里面提到了反向代理和正向代理的基本概念。我们说,反向代理代理的是服务端,正向代理代理的是客户端;反向代理的代理服务器与服务端(server)处于同个 LAN,正向代理的代理服务器与客户端(client)处于同个 LAN。 一般情况下,在反向代理中,应用程序(server)端是无法知道获取客户端(client)真实 IP、域名、端口和协议的,如下简单的实例就无法获取: server { listen 80; locatio…

2022年12月27日 0条评论 3371点热度 0人点赞 路灯 阅读全文

描述 iostat命令用于监视系统输入/输出设备的加载情况,方法是观察设备的活动时间与其平均值的关系转移率。iostat命令生成报告,可用于更改系统配置,以便更好地平衡输入/输出负载物理磁盘。 安装方法 dnf install sysstat 语法 iostat [ 选项 ] [ <时间间隔> [ <次数> ] ] <h2>常用参数</h2> -c:显示CPU利用率 -d:显示设备利用率 -t:显示时间戳 -x:显示详细磁盘指标 -y:跳过第一条数据 -k:显示单位为…

2022年12月27日 0条评论 2341点热度 0人点赞 路灯 阅读全文

描述 dd命令用于复制文件,并根据操作数进行转换和格式化,且可以测试磁盘读写。 语法 dd [选项] dd [读入文件] [输出文件] [指定大小] [输出次数] 常用参数 bs :每次同时读写 bytes 字节数 # 设置此值将覆盖 ibs 和 obs ibs :每次读取 bytes 字节数(默认:512) obs :每次写入 bytes 字节数(默认:512) # 默认单位 bytes,后缀表示基数*bytes:c=1, w=2, b=512, kB=1000, K=1024, MB=1000*1000, M=…

2022年12月27日 0条评论 2467点热度 0人点赞 路灯 阅读全文

简介 swappiness,Linux内核参数,控制换出运行时内存的相对权重。swappiness参数值可设置范围在0到100之间。 低参数值会让内核尽量少用交换,更高参数值会使内核更多的去使用交换空间。默认值为60(参考网络资料:当剩余物理内存低于40%(40=100-60)时,开始使用交换空间)。对于大多数操作系统,设置为100可能会影响整体性能,而设置为更低值(甚至为0)则可能减少响应延迟。 swappiness参数值说明 vm.swappiness = 0 仅在内存不足的情况下--当剩余空闲内存低于vm.m…

2022年12月27日 0条评论 2375点热度 0人点赞 路灯 阅读全文