基本知识

本文深入解析LVS与Nginx的区别、LVS DR模式、MySQL主从复制、DNS解析流程、网站访问原理、网站访问慢的排查及解决、Zabbix监控MySQL参数、CPU飙高处理、IDC机房流量异常应对及磁盘inode问题解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.lvs nginx 区别

LVS:负载能力强、配置性低、工作稳定、无流量、能支持所有应用
Nginx:工作在第七层,可以针对HTTP应用本身做分流策略、对网络的依赖小、安装配置比较简单,测试起来也很方便、负载均衡和稳定度差了LVS几个等级

2.LVS dr 模式原理

客户端向目标vip发出请求,lvs接收 ,LVS根据负载均衡算法选择一台活跃的的节点,将此节点的ip所在网卡的mac地址作为目标mac地址,发送到局域网里

节点在局域网中收到这个帧,拆开后发现目标IP(VIP)与本地匹配,于是处理这个报文.随后重新封装报文,发送到局域网.此时IP包的目标ip是客户端,源ip是自己的vip地址。

3.mysql主从原理

从库的 I/O 线程去请求主库中的 bin-log 二进制日志,并将得到的 binlog 日志写到 relay log(中继日志) 文件中;
主库的 dump 线程用来给从库的 I/O 线程传送 binlog 二进制日志;
从库的 SQL 线程会读取从库中的 rely-log 文件中的日志,并且解析成具体的操作进行持久化,从而实现主从的一致;

4.DNS原理

假设我们访问的是baidu.com. 首先当我们在浏览器输入www.baidu.com的时候,他先去访问本地缓存,在本地缓存发现有相应的资源,就直接返回,如果没有就去.根域找相应的资源。 但是.根域只知道.com域服务器的IP,根据IP 访问。com。 .com服务器找到baidu.com的ip,然后访问到baidu.com的服务器地址,根据要访问的端口确定运行的服务,假如是apache服务,我们进入apache的http.conf找到配置资源的路径读取资源返回到本地缓存进行缓存,然后在返回给客户,下次直接访问本地缓存

5.访问网站原理、

假设我们访问的是baidu.com. 首先当我们在浏览器输入www.baidu.com的时候,他先去访问本地缓存,在本地缓存发现有相应的资源,就直接返回,如果没有就去.根域找相应的资源。 但是.根域只知道.com域服务器的IP,根据IP 访问。com。 .com服务器找到baidu.com的ip,然后访问到baidu.com的服务器地址,根据要访问的端口确定运行的服务,假如是apache服务,我们进入apache的http.conf找到配置资源的路径读取资源返回到本地缓存进行缓存,然后在返回给客户,下次直接访问本地缓存

6.网站访问慢的解决思路

一. 在页面访问变慢的时候,我用top查看服务器负载,发现负载不高,因此有可能不是程序问题。
二. 我查看了线程中HTTP的数量,线程达到了访问最大值,由此断定是访问人数过多导致的
三. 为了验证,我用netstat查看连接数和当前连接数,发现访问量特别大,超出了我们的估算值。
四. 查看了用户访问页面的情况,把access_log打开,发现90%以上的访问都是直接访问资源文件,猜测可能用户使用了多线程下载工具,或者遭受了盗链。
解决方法: 对单个IP链接的线程限制,不允许多个线程链接资源。 我当时采用的是mod_limitipconn这个模块。  然后添加URL重写,防止盗链。

7.zabbix监控mysql监控哪些参数

查询吞吐量 查询执行性能 连接情况 缓冲池使用情况 

8.cpu飚高如何处理

1.同时运行的应用太多了,占用服务器资源
2.服务器内存存的数据太多了 
3.服务器被CC攻击了 
4.某个程序起冲突了
解决:
使用top查看进程维度的CPU负载
通过 top 命令查看系统的负载问题,并定位耗用较多 CPU 资源的进程,发现是个java进程,将进程信息发送给java开发,确定此进程无用,便将此进程杀掉,cpu问题就解决了。

9.idc机房流量暴涨处理的方法

原因:
内部服务器中毒,大量外发流量。
解决办法:
我联系机房确定机房自身无问题后(机房一般没法帮我们的),请机房断开连接外部IP服务器的网线,如负载均衡器,仅保留VPN SERVER,然后断掉内部服务器出网光关的线路,切断外发流量源头。
接下来查看监控流量服务,判断外发流量的服务器,然后进行处理。

10.磁盘有空间无法写入的解决方法

如果所在的分区inode满了,可以将一些没用的文件或目录删除,释放inode号。也可以将部分文件备份到一个新分区,然后删除这些文件,释放inode号,再将备份分区挂载到原来的位置。(软链接也可以是试试)例如:/data/cache占用了大量的inode号。那么我可以添加一个新的空分区/dev/sdb1,格式化,挂载。然后将/data/cache下文件备份到/dev/sdb1分区下,接着再删除原位置的文件。最后我们卸载分区,重新挂载到/data/cache下。

inode号在xfs文件系统前(ext4/ext3/ext2)都是在格式化之前就定下来的,例如ext4文件系统使用命令mkfs.ext4中的-N选项设置数量 。但是我们来到xfs文件系统时,mkfs。xfs没有-N这个选项,不用担心,这时使用-i maxpct=n来调整inode区占整个分区的比例(默认n=25,即占用25%的空间大小)。而且似乎可以使用命令xfs_growfs在不重新格式化分区就可以增加inode区占整个分区的比例,从而增加inode总数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值