目录
2、简述 raid0 raid1 raid5 三种工作模式的工作原理及特点
3、LVS、Nginx、HAproxy 有什么区别?工作中你怎么选择?
4、Squid、Varinsh 和 Nginx 有什么区别,工作中你怎么选择?
7、讲述一下Tomcat8005、8009、8080三个端口的含义?
11、vmstat r, b, si, so, bi, bo 这几列表示什么含义呢?
13、MySQL 的 innodb 如何定位锁问题,MySQL 如何减少主从复制延迟?
18、统计ip访问情况,要求分析nginx访问日志,找出访问页面数量在前十位的ip
19、使用 tcpdump 监听主机为192.168.1.1,tcp端口为80的数据,同时将输出结果保存输出到 tcpdump.log
20、如何将本地80 端口的请求转发到8080 端口,当前主机IP 为192.168.2.1
22、实时抓取并显示当前系统中tcp 80端口的网络数据信息,请写出完整操作命令
23、使用rsync同步数据时,假如我们采用的是ssh方式,并且目标机器的sshd端口并不是默认的22端口,那我们如何做?
29、查看http的并发请求数与其TCP连接状态
30、用tcpdump嗅探80端口的访问看看谁最高
31、写一个脚本,实现判断192.168.1.0/24网络里,当前在线的IP有哪些,能ping通则认为在线
34、请执行命令取出 linux 中 eth0 的 IP 地址(请用 cut,有能力者也可分别用 awk,sed 命令答)
35、每天晚上 12 点,打包站点目录/var/www/html 备份到/data 目录下(最好每次备份按时间生成不同的备份包)
1、linux系统里,buffer和cache如何区分?
buffer和cache都是内存中的一块区域,当CPU需要写数据到磁盘时,由于磁盘速度比较慢,所以CPU先把数据存进buffer,然后CPU去执行其他任务,buffer中的数据会定期写入磁盘;当CPU需要从磁盘读入数据时,由于磁盘速度比较慢,可以把即将用到的数据提前存入cache,CPU直接从Cache中拿数据要快的多。
2、简述 raid0 raid1 raid5 三种工作模式的工作原理及特点
RAID,可以把硬盘整合成一个大磁盘,还可以在大磁盘上再分区,放数据
还有一个大功能,多块盘放在一起可以有冗余(备份)
RAID整合方式有很多,常用的:0 1 5 10
RAID 0,可以是一块盘和 N 个盘组合
-
优点读写快,是 RAID 中最好的
-
缺点:没有冗余,一块坏了数据就全没有了
RAID 1,只能2块盘,盘的大小可以不一样,以小的为准。
-
10G+10G只有10G,另一个做备份。它有100%的冗余,
-
缺点:浪费资源,成本高
RAID 5 ,3块盘,容量计算10 *(n-1),损失一块盘
特点,读写性能一般,读还好一点,写不好
-
冗余从好到坏:RAID1 RAID10 RAID 5 RAID0
-
性能从好到坏:RAID0 RAID10 RAID5 RAID1
-
成本从低到高:RAID0 RAID5 RAID1 RAID10
单台服务器:很重要盘不多,系统盘,RAID1
数据库服务器:主库:RAID10 从库 RAID5\RAID0(为了维护成本,RAID10)
WEB服务器,如果没有太多的数据的话,RAID5,RAID0(单盘)
有多台,监控、应用服务器,RAID0 RAID5
我们会根据数据的存储和访问的需求,去匹配对应的RAID级别
3、LVS、Nginx、HAproxy 有什么区别?工作中你怎么选择?
-
LVS:是基于四层的转发
-
HAproxy:是基于四层和七层的转发,是专业的代理服务器
-
Nginx:是WEB服务器,缓存服务器,又是反向代理服务器,可以做七层的转发
区别:LVS由于是基于四层的转发所以只能做端口的转发,而基于URL的、基于目录的这种转发LVS就做不了。
工作选择:
-
HAproxy 和 Nginx 由于可以做七层的转发,所以 URL 和目录的转发都可以做
-
在很大并发量的时候我们就要选择LVS,像中小型公司的话并发量没那么大
-
选择 HAproxy 或者 Nginx 足已,由于 HAproxy 由是专业的代理服务器
-
配置简单,所以中小型企业推荐使用 HAproxy
4、Squid、Varinsh 和 Nginx 有什么区别,工作中你怎么选择?
Squid、Varinsh 和 Nginx 都是代理服务器
什么是代理服务器:
能当替用户去访问公网,并且能把访问到的数据缓存到服务器本地,等用户下次再访问相同的资源的时候,代理服务器直接从本地回应给用户,当本地没有的时候,我代替你去访问公网,我接收你的请求,我先在我自已的本地缓存找,如果我本地缓存有,我直接从我本地的缓存里回复你;如果我在我本地没有找到你要访问的缓存的数据,那么代理服务器就会代替你去访问公网。
区别:
1)Nginx 本来是反向代理/web服务器,用了插件可以做做这个副业,但是本身不支持特性挺多,只能缓存静态文件
2)从这些功能上。varnish 和 squid 是专业的 cache 服务,而 nginx 这些是第三方模块完成
3)varnish 本身的技术上优势要高于 squid,它采用了可视化页面缓存技术
在内存的利用上,Varnish 比 Squid 具有优势,性能要比 Squid 高。还有强大的通过 Varnish 管理端口,可以使用正则表达式快速、批量地清除部分缓存。它是内存缓存,速度一流,但是内存缓存也限制了其容量,缓存页面和图片一般是挺好的
4)squid 的优势在于完整的庞大的 cache 技术资料,和很多的应用生产环境
工作中选择:
要做 cache 服务的话,我们肯定是要选择专业的cache服务,优先选择squid或者varnish。
5、Tomcat和Resin有什么区别,工作中你怎么选择?
-
区别:Tomcat 用户数多,可参考文档多,Resin用户数少,可考虑文档少
最主要区别则是 Tomcat 是标准的 java 容器,不过性能方面比 resin 的要差一些。但稳定性和 java 程序的兼容性,应该是比 resin 的要好
工作中选择:现在大公司都是用 resin,追求性能;而中小型公司都是用 Tomcat,追求稳定和程序的兼容
6、能否给一个网卡配置多个IP? 如果能,怎么配置?
可以给一个网卡配置多个IP,配置步骤如下:
cat /etc/sysconfig/network-scripts/ifcfg-eth0#查看eth0的配置
DEVICE=eth0
HWADDR=00:0C:29:06:37:BA
TYPE=Ethernet
UUID=0eea1820-1fe8-4a80-a6f0-39b3d314f8da
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.147.130
NETMASK=255.255.255.0
GATEWAY=192.168.147.2
DNS1=192.168.147.2
DNS2=8.8.8.8
(1)新建一个ifcfg-eth0:1文件
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:1
(2)修改其内容如下:
vim /etc/sysconfig/network-scripts/ifcfg-eth0:1
DEVICE=eth0:1
HWADDR=00:0C:29:06:37:BA
TYPE=Ethernet
UUID=0eea1820-1fe8-4a80-a6f0-39b3d314f8da
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.147.133
NETMASK=255.255.255.0
GATEWAY=192.168.147.2
DNS1=192.168.147.2
DNS2=8.8.8.8
(3)重启网络服务:
service network restart
7、讲述一下Tomcat8005、8009、8080三个端口的含义?
8005 - 关闭时使用
8009 - 为AJP端口,即容器使用,如Apache能通过AJP协议访问Tomcat的8009端口
8080 - 一般应用使用
8、什么叫CDN?
-
即内容分发网络
-
其目的是通过在现有的 Internet 中增加一层新的网络架构,将网站的内容发布到最接近用户的网络边缘,使用户可就近取得所需的内容,提高用户访问网站的速度
9、什么叫网站灰度发布?
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。
AB test 就是一种灰度发布方式,让一部用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来,灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。
10、简述 DNS 进行域名解析的过程?
用户要访问 www.baidu.com,会先找本机的 host 文件,再找本地设置的 DNS 服务器,如果也没有的话,就去网络中找根服务器,根服务器反馈结果,说只能提供一级域名服务器.cn,就去找一级域名服务器,一级域名服务器说只能提供二级域名服务器.com.cn,就去找二级域名服务器。
二级域服务器只能提供三级域名服务器.baidu.com.cn,就去找三级域名服务器,三级域名服务器正好有这个网站www.baidu.com,然后发给请求的服务器,保存一份之后,再发给客户端。
11、vmstat r, b, si, so, bi, bo 这几列表示什么含义呢?
[root@centos6 ~ 10:57 #39]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 1783964 13172 106056 0 0 29 7 15 11 0 0 99 0 0
- r即running,表示正在跑的任务数
- b即blocked,表示被阻塞的任务数
- si表示有多少数据从交换分区读入内存
- so表示有多少数据从内存写入交换分区
- bi表示有多少数据从磁盘读入内存
- bo表示有多少数据从内存写入磁盘
12、讲述一下LVS三种模式的工作过程?
LVS 有三种负载均衡的模式,分别是 VS/NAT(nat 模式)、VS/DR(路由模式)、VS/TUN(隧道模式)
一、NAT模式(VS-NAT)
原理:就是把客户端发来的数据包的IP头的目的地址,在负载均衡器上换成其中一台RS的IP地址
并发至此 RS 来处理,RS处理完后把数据交给负载均衡器,负载均衡器再把数据包原IP地址改为自己的IP
将目的地址改为客户端IP地址即可期间,无论是进来的流量,还是出去的流量,都必须经过负载均衡器
-
优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,只有负载均衡器需要一个合法的IP地址
-
缺点:扩展性有限。当服务器节点(普通PC服务器)增长过多时,负载均衡器将成为整个系统的瓶颈
因为所有的请求包和应答包的流向都经过负载均衡器。当服务器节点过多时
大量的数据包都交汇在负载均衡器那,速度就会变慢!