精选文章 2020-08-05 ---运维工程师常见面试题整理-----篇章(一)

2020-08-05 ---运维工程师常见面试题整理-----篇章(一)

作者:Bolin-zhou 时间: 2020-08-05 10:38:53
Bolin-zhou 2020-08-05 10:38:53

一 . Zabbix作用是什么,可以监控什么, 优化有什么,工作原理?


Zabbix作用:监控网络主机

监控:硬件(路由器 交换机 防火墙),系统(cpu负荷 ,内存,磁盘,网络,进程,tcp )服务(nginx,php,tomcat,redis,memcache,mysql) web(响应时间,加载时间,渲染时间) 日志(ELK,收集,存储,分析,展示)安全(firewalld)

Zabbix优化:1轮询器实例数量   2不可达主机  3 http轮询器子进程实例个数   4 缓存大小 5 历史缓存数据大小   6 trappers进程实例数量

工作原理Agent安装在被监控的主机上,Agent负责定期收集客户端本地各项数据,并发送至zabbix server端,zabbix server收到数据,将数据存储到数据库中,用户基于zabbix web可以看到数据在前端展现图像。  当zabbix监控某个具体的项目,项目会设置一个触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件,微信,短信),发送命令(shell命令,reboot,restart,install)-------agent收集数据分为主动和被动模式:主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy

被动:server向agent请求获取监控项的数据,agent返回数据。


二 .MySQL数据库与NoSQL数据库的区别、memcached与redis区别?


关系型数据库有:MySql, Orcale, SqlServer, Access

非关系型数据库(nosql)有:Hbase, MongoDBRedis

关系型数据是以行和列的形式展示,行与列的形式组织起来的数据的集合。一个数据库包括一个或多个表。比如说一个人的信息有:ID,×××,姓名,年龄,性别,住址等,这些信息都是和这个人有关系的。

非关系型数据库里面的数据是以 ”key”,”value”键值对的形式存在,key是唯一的,value值可以有多个重复的数据。

Redis 通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash/Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)五种类型,一个高性能的key-value数据库;支持持久化;数据的备份。

redis提供两种方式进行持久化,一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化),另外一种是AOF(append only file)持久化(原理是将Reids的操作日志以追加的方式写入文件)。

RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。

AOF持久化以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录,以文本的方式记录,可以打开文件看到详细的操作记录。

Sql和Mysql区别

  1. 成本:nosql数据库简单容易部署,基本上都是开源软件,不像oracle数据库那样收费,和关系型数据库比起来价格便宜。
  2. 查询速度:nosql数据库是将数据存储到缓存之中,关系型数据库将数据存储到硬盘中,所以nosql数据库查询速度快。
  3. 存储数据的格式:nosql的存储格式是key,value形式、文档形式等等,所以可以存储基础类型以及对象或者集合等各种格式,关系型数据库只支持基础类型。
  4. 拓展性:关系型数据库有join这个样的多表查询机制的限制导致拓展很艰难。

Redis和Memcached的不同:

Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象),是一个简洁的key-value存储系统.

     1、存储方式:

Memcached 把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小

Redis有部份存在硬盘上,这样能保证数据的持久性,支持数据的持久化(笔者注:有快照和AOF日志两种持久化方式,在实际应用的时候,要特别注意配置文件快照参数,要不就很有可能服务器频繁满载做dump)。

      2、数据支持类型:

Redis在数据支持上要比Memcached多的多。

      3、使用底层模型不同:

新版本的Redis直接自己构建了VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。

      4、运行环境不同:

Redis目前官方只支持LINUX 上去行,从而省去了对于其它系统的支持,这样的话可以更好的把精力用于本系统 环境上的优化,虽然后来微软有一个小组为其写了补丁。但是没有放到主干上。


 三 .MySQL主从同步的原理


   主库将变更写入 binlog 日志,然后从库连接到主库之后,从库有一个 IO 线程,将主库的 binlog 日志拷贝到自己本地,写入一个 relay 中继日志中。接着从库中有一个 SQL 线程会从中继日志读取 binlog,然后执行 binlog 日志中的内容,也就是在自己本地再次执行一遍 SQL,这样就可以保证自己跟主库的数据是一样了。


  四 .Redis实现主从工作原理


  在master和slave互通之后,<1>首先,slave会向master发送sync同步指令;<2>当Master收到指令后,将在后台启动存盘进程,同时收集所有修改的数据命令;<3>master完成后台存盘后,传递整个数据文件到slave;<4>slave接受数据文件,加载到内存中,完成首次同步,后续有新数据产生时,master继续收集数据修改命令。


  五 .keepalived高可用原理


     Keepalived是一个用C语言写的路由软件,以VRRP协议为实现基础的,即虚拟路由冗余协议;由多台相同功能的路由器组成一个组,由一个master(有一个对外提供服务的vip)和多个backup组成,master会发组播,当backup收不到vrrp包是就认为master宕机了,这时需要根据VRRP优先级来选举一个backup当master。


   六  .Nginx基本优化有哪些


  1. 最大化worker_connections(1024)
  2. 启用Gzip压缩(压缩文件大小,减少了客户端http的传输带宽)
  3. 为静态文件启用缓存(减少带宽并提高性能)
  4. Timeouts
  5. 禁用access_logs
  6. 调整worker_processes

 


  七  .Nginx常见负载均衡策略及原理


轮询(每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除

;加权轮询(指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况

;ip_hash(每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器

;url_hash(按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器

;fair(按后端服务器的响应时间分配请求,响应时间短的优先分配


    八 .简述linux的优化方案


【硬件方面】

1. cpu

2. 内存  (增加内存)

3. 存储 (使用RAID 0+1 读写速度快、完全容错但成本高,用的比较多 4块盘 利用率50%,使用ssd)

4. 网卡 (使用千兆网卡,或者双网卡绑定)

【系统方面 】

1. 内核参数优化(网络相关、内存相关、缓冲缓存相关)

2. 文件系统方面(分区调优,格式化时根据存储文件特性,指定合适的块大小,noatime,日志隔离,软raid,有效使用/dev/shm,关闭不必要的服务)

3. cpu优化 (进程绑定,中断绑定)

【应用程序方面】

1. nginx、apache、php-fpm、mysql、tomcat、squid等应用,是可以通过调节各个参数获得性能优化的。

2. web优化,比如可以把用户请求合并,使用cdn加速静态页访问速度,把图片文档压缩减少带宽传输,

3. 优化网站程序

【架构方面】

1. 使用简单并且稳定的架构方案

2. 多使用缓存

 

 

 

 

勿删,copyright占位
分享文章到微博
分享文章到朋友圈

上一篇:多标签分类问题与多类别分类

下一篇:公众号榜单 | 2020·7月公众号行业排行榜重磅发布

您可能感兴趣

  • 一篇来自前端同学对后端接口的吐槽

    Java面试笔试面经、Java技术每天学习一点 Java面试 关注不迷路 作者:李熠 来源:https://juejin.im/user/59cc858ff265da065a63dfca 前言 去年的某个时候就想写一篇关于接口的吐槽,当时后端提出了接口方案对于我来说调用起来非常难受,但又说不上为什么,没有论点论据所以也就作罢。最近因为写全栈的缘故,团队内部也遇到了一些关于接口设计的问题,于是...

  • 掌门教育微服务体系 Solar | 阿里巴巴 Nacos 企业级落地上篇

    联席作者:吴毅挺 任浩军 张彬彬 廖梦鸽 张金星 胡振建 郑重鸣谢:Nacos - 彦林,Spring Cloud Alibab - 小马哥、洛夜,Nacos 社区 - 张龙(pader)、春少(chuntaojun) 前言 在高速发展的时候,公司规模越来越大,老师人数越来越多,这时候公司不能铺太多人去做运营与服务,必须提高每个人效,这就需要技术驱动。因此掌门教育转变成一家技术驱动型的公司,...

  • 如何写/审AI领域的论文【VALSE Webinar】Panel实录

    编者按:随着人工智能的飞速发展,相关领域学术会议和期刊的投稿量剧增。面对大量良莠不齐的学术论文,研究人员又该秉承什么理念来撰写、评审相关领域的学术论文?以及在“破四唯”、工业界研究异军突起等新形势下如何调整自己的科研工作呢?为此,VALSE Webinar 2020-18期邀请了李宏东 (澳大利亚国立大学)、梅涛 (京东)、山世光 (中科院计算所)、杨明玄Ming-Hsuan Yang (美...

  • 时间切片的实现和调度(原创2.6万字)

    本人系一个惯用Vue的菜鸡,恰巧周末和大佬扯蛋,峰回路转谈到了fiber,被大佬疯狂鄙视...

  • 如何看待第三方百度云 Pandownload 作者被捕?

    昨天晚上#Pandownload# 关键字上了热搜,原因无它, Pandownload 的开发者被警方抓捕了。 Pandownload 是什么? 警方为什么将其抓捕?为什么可以引起网络上如此大的轰动...

  • 网络同步在游戏历史中的发展变化(二)—— Lockstep与帧同步

    前言: 网络同步属于游戏开发中比较重要且复杂的一部分,但是由于网上的资料内容参差不齐,很多人直接拿别人的结论写文章,导致很多人对这一块的很多概念和理解都是错误的。本文参考了大量的相关论文和资料(三十篇以上),从网络同步的基本概念讲起,进一步深入到服务器架构与同步算法的实现细节,可以帮你系统的梳理网络同步技术的发展与应用。本篇核心内容为“锁步同步lockstep(帧同步)”,首发在网易雷火的知...

  • 重新学习Mysql数据库5:根据MySQL索引原理进行分析与优化

    本文转自互联网 本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star哈 文章首发于我的个人博客: www.how2playlife.com 本文是微信公众号【Java技术江湖】的《重新学习MySQL数据库》其中一篇,本文部分内容来源于网络,为了把本文...

  • bilibili视频爬取与水印去除

    需求 采集特定用户下面的视频 分析 首先是获取到用户视频的列表 然后进行翻页 获取所有视频的ID 进行视频的下载 实践 通过观察发现用户的下面的视频列表来自特定的API 翻页也是修改pn=的参数即可 通过API拿到的数据的格式类似 {"code":0,"message":"0","ttl":1,"data":{"list":{"tlist":{"1":{"tid":1,"count":1,"...

华为云40多款云服务产品0元试用活动

免费套餐,马上领取!
CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。