1、网络带宽,这是一个很常见的瓶颈
2、cpu、硬盘、内存配置过低,服务器负载不起来。
3、网站的开发代码不够完善,例如
mysql语句没有进行优化
,导致数据库的读写相当耗费时间。4、数据库的瓶颈。当我们的数据库的数据变得越来越多的时候,那么对于数据库的读写压力肯定会变大.
1、AB服务器不在同一个网段
2、首先把不同IP段的服务器划分给不同的vlan
3、在通过通过三层交换机添加虚拟IP路由实在不同网段的vlan的连接
vi /etc/sysconfig/network-scripts/ifcfg-eth0
查看网卡状况
IP -a -s 网卡的名字
A服务器设置相关网卡信息
子网掩码:255.255.255.0
IP=10.0.0.1
网关=10.0.0.254
重启网卡生效
查看路由信息
route -n
添加对应路由
route add -net 10.0.1.0/24 gw 10.0.0.11
B服务器的设置相关信息
IP=10.0.1.10
网关10.0.1.254
重启网卡生效
route -n
添加对应的路由
route add -net 10.0.0.0/24 gw 10.0.1.11
C服务器的两块网卡
网卡1
IP=10.0.0.11
网关=10.0.0.254
网卡2
IP=10.0.1.11
网关=10.0.1.254
重启网卡生效
route -n
vi /etc/sysctl.conf
net.ipv4.ip_forword = 1
首先先看看是不是网路接口故障水晶头或是网卡接口接触不良造成,其次检查交换机和路由等网络设备是有故障
是否关闭了
防火墙
和selinux机制
然后查看网卡和路由和网关是否配置正确
有三个原因
1、对方限制禁止了ping
2、解析不了网站的主机名和地址
3、网络异常无法到达ping目标的主机和IP
工作模式:桥接模式,nat模式,host模式
ifconfig 查看一下
docker0网桥
,ping一下网桥看看是否通。有可能是网桥配置
问题weave路由器端口6783
1、安装docker容器的服务器没有关闭
防火墙
(访问一下安装docker物理机的,是否能访问,如果不能访问就变不能访问docker)2、docker在创建镜像的时候没有做
端口映射
(出现这种情况能访问物理机不能访问docker)使用dockers ps查看镜像的端口映射情况3、
端口映射
不正确4、查看网络配置ping网桥看是否能ping通,有可能是网桥的原因
答:
service iptables status
systemctl status firewalld
答:
$0 这个程式的执行名字
$n 这个程式的第n个参数值,n=1…9
$* 这个程式的所有参数,此选项参数可超过9个。
$# 这个程式的参数个数
$$ 这个程式的PID(脚本运行的当前进程ID号)
$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)
$? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
$- 显示shell使用的当前选项,与set命令功能相同
@ 跟 @ 跟 @跟*类似,但是可以当作数组用
awk -F {print$3} 脚本名
1、首先确定物理链路是否联通正常。
2、查看本机IP,路由,DNS的设置情况是否达标。
3、telnet检查服务器的WEB有没有开启以及防火墙是否阻拦。
4、ping一下网关,进行最基础的检查,通了,表示能够到达服务器。
5、测试到网关或路由器的通常情况,先测网关,然后再测路由器一级一级的测试。
6、测试ping公网ip的通常情况(记住几个外部IP),
7、测试DNS的通畅。ping出对应IP。
8、通过以上检查后,还在网管的路由器上进行检查。
一、判断原因
首先我要以用户的身份登录我们的网站,判断问题出现在我们自身原因,还是用户那边的原因。
(一)、如果是用户问题有以下几个原因
用户那边的带宽
用户的浏览器器版本低,安装插件太多
中毒和电脑里的垃圾文件过多
用户主机的主机的性能和操作系统
(二)、如果是我们的网站自身问题有一下几个原因
网络带宽
服务器的cpu、硬盘、内存过低服务器负载不起来也就是说服务器自身的性能方面
网站代码不够完善。如mysql语句没有进行优化导致数据库读写耗时
服务器未开启图片压缩
网页台下
死连接过多插件使用及js文件调用频繁网站服务器的速度或是租用空间所在的服务器速度
(三)、解决思路
1、检测服务器速度的快慢
1)ping命令查看连接到服务器的时间和丢包情况(ping 测试网址的)
2)查看丢包率(1000个包没有丢一个是最理想的、一般一个速度好的机房丢包率不超过1%)
3)ping值要小同城电信adsl ping平均值绝对不能超过20,一般都在10,跨省的平均值20-40属于正常
4)ping值要均匀最小值和最大值相差太大说明路由不稳定的表现
2、查看服务器自身性能
查看cpu的使用率uptime
查看内存情况 free -m
查看I/O读写iostat 磁盘I/O读写等看看是那个进程大量占用系统资源导致我的服务器变慢
3、看看访问最多的URL和IP有什么特征,如果是恶意URL和IP就把他屏蔽掉如果是善意的就限流有可能是CDN回源量大造成网站无法访问
4、查看同台服务器上其他网站的打开速度,可以通过查询工具查看和自己在同一台服务器上的网站个数和网址可以看他们打开快慢
5、电信和联通互访的问题
如果是空间打开时快时慢,有时打不开那就是空间不稳定找空间商解决或是换空间伤,如果是有的地方快有的地方慢应该是网络线路问题,比如电信用户访问放在联通服务器上的网站,联通用户访问放在电信服务器上的网站,解决办吧是:使用双线空间或是多线空间
6、从网站自身的原因
网站的程序设计结构是否合理是否由于幻灯片代码影响网站打开速度(找程序设计相关人士解决)
网页的设计结构和代码错误(请专业人士进行修改)
网页的内容如:大尺寸图片、大尺寸flash、过多的引用其他网站内容,如果被引用内容的网站速度慢,也影响自身网站把。譬如友情连接可以把对方
的图片放到自己网站上解决办法
优化图片,限制图片大小尺寸,降低图片质量,减少图片数量
限定图片的格式:jpg,png,gif
减少http的请求数(当打开网页时浏览器会发出很多对象请求,每个对象的加载都会有所延时,如果网页上的对象很多就会花费大量的时间,去除不必要的对象,将临近的图片合成一张,合并css文件)
12、MySQL的复制原理以及流程
基本原理流程,3个线程以及之间的关联;
1、主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中;
2、从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中;
3、从:sql执行线程——执行relay log中的语句;
使用云计算有下列优点:
a)备份数据和存储数据
b)强大的服务器功能
c)SaaS(软件即服务)
d)信息技术沙盒功能
e)提高生产力
f)具有成本效益,并节省时间
不同的云计算部署模式包括:
a)私有云
b)公共云
c)社区云
d)混合云
a)身份管理:授权应用程序服务。
b)访问控制:将权限授予用户,那样用户可以控制进入到云环境的另一个用户的访问。
c)验证和授权:只允许通过授权和验证的用户访问数据和应用程序。
虚拟化平台在实施云时的要求包括:
a)管理服务级别策略
b)云操作系统
c)虚拟化平台有助于让后端级别概念和用户级别概念彼此不同。
a)合规
b)数据丢失
c)数据存储
d)业务连续性
e)正常运行时间
f)云计算的数据完整性
API(应用编程接口)在云平台中非常有用
a)不需要编写功能完备的程序。
b)提供了在一个或多个应用程序之间进行联系的指令。
c)易于构建应用程序,并将云服务与其他系统联系起来。
云计算的不同层包括:
a)SaaS:软件即服务,它让用户可以直接访问云应用程序,不必在系统上安装任何东西。
b)IaaS:基础设施即服务,它从硬件(比如内存和处理器速度等)等层面提供了基础设施。
c)PaaS:平台即服务,它为开发人员提供了云应用程序平台。
A)专业云
B)私人云
C)高性能云
让云架构有别于传统架构的特点包括:
a)按照需求,云架构满足硬件要求。
b)云架构能够按需增减资源。
c)云架构能够管理和处理动态工作负载,顺畅无阻。
a)云入站
b)处理器速度
c)云存储服务
d)云提供商服务
e)云间通信
绝对路径:如/etc/init.d
当前目录和上层目录:
./
../
主目录:
~/
切换目录:cd
清屏:clear
退出当前命令:
ctrl+c
彻底退出执行睡眠 :
ctrl+z
挂起当前进程fg
恢复后台查看当前用户 id:
”id“
:查看显示目前登陆账户的 uid 和 gid 及所属分组及用户名查看指定帮助:如 man adduser 这个很全 而且有例子;adduser --help 这个告诉你一些常用参数;info
adduesr;
ls 执行的功能:列出指定目录中的目录,以及文件
哪些参数以及区别:a 所有文件l 详细信息,包括大小字节数,可读可写可执行的权限等
软链接:
ln -s slink source
硬链接:
ln link source
创建目录:
mkdir
创建文件:典型的如
touch,vi
也可以创建文件,其实只要向一个不存在的文件输出,都会创建文件复制文件:cp
文件权限修改:
chmod
格式如下:
$ chmod u+x file
给 file 的属主增加执行权限
$ chmod 751 file
给 file 的属主分配读、写、执行(7)的权限,给 file
的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
$ chmod u=rwx,g=rx,o=x file
上例的另一种形式
$ chmod =r file
为所有用户分配读权限
$ chmod 444 file
同上例
$ chmod a-wx,a+r file
同上例
$ chmod -R u+r directory
递归地给 directory 目录下所有文件和子目录的属主分配读的权限
vi 文件名 #编辑方式查看,可修改
cat
文件名 #显示全部文件内容
more
文件名 #分页显示文件内容less 文件名 #与 more 相似,更好的是可以往前翻页
tail
文件名 #仅查看尾部,还可以指定行数
head
文件名 #仅查看头部,还可以指定行数
写文件命令:vi
向屏幕输出带空格的字符串:
echo hello world
终端
/dev/tty
黑洞文件
/dev/null
mv mv
cp cp -r ????
rm
rm -r
rmdir
“?”可替代单个字符。
“*”可替代任意多个字符。
方括号“[charset]”可替代 charset 集中的任何单个字符,如[a-z],[abABC]
wc 命令 - c 统计字节数 - l 统计行数 - w 统计字数。
是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。
grep [stringSTRING] filename grep [^string] filename
(1)、
不可中断状态:
进程处于睡眠状态,但是此刻进程是不可中断的。不可中断, 指进程不响应异步信号。(2)、
暂停状态/跟踪状态
:向进程发送一个 SIGSTOP 信号,它就会因响应该信号 而进入 TASK_STOPPED
状态;当进程正在被跟踪时,它处于 TASK_TRACED 这个特殊的状态。“正在被跟踪”指的是进程暂停下来,等待跟踪它的进程对它进行操作。
(3)、
就绪状态
:在 run_queue 队列里的状态(4)、
运行状态
:在 run_queue 队列里的状态(5)、
可中断睡眠状态
:处于这个状态的进程因为等待某某事件的发生(比如等待 socket 连接、等待信号量),而被挂起(6)、
zombie 状态(
僵尸):父亲没有通过 wait 系列的系统调用会顺便将子进程的尸体(task_struct)也释放掉(7)、
退出状态
D 不可中断 Uninterruptible(usually IO)
R 正在运行,或在队列中的进程
S 处于休眠状态
T 停止或被追踪
Z 僵尸进程
W 进入内存交换(从内核 2.6 开始无效)
X 死掉的进程
一般都是使用
&
在命令结尾来让程序自动运行。(命令后可以不追加空格)
ps -ef (system v 输出)
ps -aux bsd 格式输出
ps -ef | grep pid
job -l
把后台任务调到前台执行
fg
把停下的后台任务在后台执行起来
bg
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]
kill-9 pid
kill -l
find <指定目录> <指定条件> <指定动作>
whereis
加参数与文件名
locate
只加文件名
find
直接搜索磁盘,较慢。
find / -name "string*"
查找自己所在的终端信息:
who am i
查看当前谁在使用该主机:
who
history
df -hl
文件系统 容量 已用 可用 已用% 挂载点
Filesystem Size Used Avail Use% Mounted on /dev/hda2 45G 19G 24G 44%
/dev/hda1 494M 19M 450M 4% /boot
netstat
ifconfig
查看所有 env
查看某个,如 home:
env $HOME
\u:显示当前用户账号
\h:显示当前主机名
\W:只显示当前路径最后一个目录
\w:显示当前绝对路径(当前用户目录会以~代替)
$PWD:显示当前全路径
$:显示命令行
’$'
或者’#'
符号#:下达的第几个命令
\d:代表日期,格式为week day month date,例如:“MonAug1”
\t:显示时间为24小时格式,如:HH:MM:SS
\T:显示时间为12小时格式
\A:显示时间为24小时格式:HH:MM
\v:BASH的版本信息 如export PS1=’[\u@\h\w#]$‘
whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]
补充说明:
whereis
指令会在特定目录中查找符合条件的文件。这些文件的烈性应属于原始代码,二进制文件,或是帮助文件。-b 只查找二进制文件。
-B<目录>
只在设置的目录下查找二进制文件。-f 不显示文件名前的路径名称。-m 只查找说明文件。
-M<目录> 只在设置的目录下查找说明文件。-s 只查找原始代码文件。
-S<目录> 只在设置的目录下查找原始代码文件。-u 查找不包含指定类型的文件。
which 指令会在 PATH 变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
-n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p 与-n 参数相同,但此处的包括了文件的路径。-w 指定输出时栏位的宽度。
-V 显示版本信息
which
只能查可执行文件
whereis
只能查二进制文件、说明文档,源文件等
alias la=‘ls -a’
du
显示目录或文件的大小
df
显示每个<文件>所在的文件系统的信息,默认是显示所有文件系统。(文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如 i节点,磁盘分布图,间接块,超级块等。这些数据对大多数用户级的程序来说是不可见的,通常称为 Meta Data。) du
命令是用户级的程序
,它不考虑 Meta Data,而 df 命令则查看文件系统的磁盘分配图并考虑 Meta Data。df 命令获得真正的文件系统数据,而 du 命令只查看文件系统的部分情况。
awk ‘{pattern + action}’ {filenames}
#
cat /etc/passwd |awk -F ':' '{print $1"\t"$7}' //-F
的意思是以’:'分隔 root /bin/bashdaemon /bin/sh
搜索/etc/passwd 有 root 关键字的所有行#
awk -F: '/root/' /etc/passwd root:x:0:0:root:/root:/bin/bash
可以使用
bind
命令,bind可以很方便地在shell中实现宏或按键的绑定。在进行按键绑定的时候,我们需要先获取到绑定按键对应的字符序列。
比如获取F12的字符序列获取方法如下:先按下Ctrl+V,然后按下F12 .我们就可以得到F12的字符序列
^[[24~
。接着使用bind进行绑定。
[root@localhost ~]#
bind ‘”\e[24~":"date"'
注意:相同的按键在不同的终端或终端模拟器下可能会产生不同的字符序列。
【附】也可以使用
showkey -a
命令查看按键对应的字符序列。
[root@localhost ~]$
compgen -c
l.
ll
ls
which
if
then
else
elif
fi
case
esac
for
select
while
until
do
done
…
使用Linux 命令
dirs
可以将当前的目录栈打印出来。[root@localhost ~]# dirs
/usr/share/X11
【附】:目录栈通过
pushd popd
来操作。
答案:
使用linux命令 ’
disown -r
’可以将所有正在运行的进程移除。
linux命令’hash’管理着一个内置的哈希表,记录了已执行过的命令的完整路径, 用该命令可以打印出你所使用过的命令以及执行的次数。
[root@localhost ~]# hash
hits command
/bin/ls
/bin/su
答案:
bash shell 的内置命令
let
可以进行整型数的数学运算。#! /bin/bash
let c=a+b
通过管道将命令”cat file_name.txt” 和 ’more’ 连接在一起可以实现这个需要.
[root@localhost ~]#
cat file_name.txt | more
数据字典是属于’
SYS
’用户的,用户‘SYS’ 和 ’SYSEM’是由系统默认自动创建的
使用命令
whatis
可以先出显示出这个命令的用法简要,比如,你可以使用whatis zcat
去查看‘zcat’的介绍以及使用简要。[root@localhost ~]#
whatis zcat
zcat [gzip] (1) – compress or expand files
使用命令
repquota
能够显示出一个文件系统的配额信息【附】只有
root用户
才能够查看其它用户的配额。
568B 橙白 橙 绿白 蓝 蓝白 绿 棕白 棕
568A 绿白 绿 橙白 蓝 蓝白 橙 棕白 棕
直通线一般都用 A线序或 B线序
交叉线一端是 568A 一端 是 568B
应用层,表示层,会话层,传输层,网络层,数据链路层,物理层
C/S表示客户端 /服务器的模式 C 是client,S是server;
B/S是基于浏览;
综合布线包括六大子系统:
建筑群连接子系统
设备连接子系统
干线(垂直)子系统
管理子系统
水平子系统
工作区子系统
路由器属于
三层
设备,交换机(通常所指的)属于二层设备;
TCP0-65535,UDP0-65535 也就是共有 65536*2=131072个端口
快捷键:windows+r 运行cmd,然后输入
ping 127.0.0.1
C类:
256
个 IP 地址B类:
65536
个 IP 地址
ftp 传输数据:20
ftp 建立连接:21
telnet 远程管理:23
smtp 邮件收发:25
DNS 域名解析:53
http 网页服务:80
pop3,邮局协议,主要用于接收邮件:110
检查网卡连接;
检查 IP 地址设置是否正确,如果是动态获取地址,检查有没有获取到,获取的是否正确;
检查 PC 能否同
本网络其它主机通讯
;检查
PC 能否与网关通讯
;检查 PC 的
DNS 设置
是否正确;检查能否
和 DNS 通讯
;检查
能否 PING 通服务器
;杀毒;
第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入
SYN_SENT
状态,等待Server确认。第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给Client以确认连接请求,Server进入
SYN_RCVD
状态。第三次握手:Client收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server,Server检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入
ESTABLISHED
状态,完成三次握手,随后Client与Server之间可以开始传输数据了。
第一次挥手:Client发送一个
FIN
,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),Server进入
CLOSE_WAIT
状态。第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入
LAST_ACK
状态。第四次挥手:Client收到FIN后,Client进入
TIME_WAIT
状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLOSED状态,完成四次挥手。
这是因为服务端在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报文里发送给客户端。而关闭连接时,当收到对方的FIN报文时,仅仅表示对方不再发送数据了但是还能接收数据,己方也未必全部数据都发送给对方了,所以己方可以立即close,也可以发送一些数据给对方后,再发送FIN报文给对方来表示同意现在关闭连接,因此,己方ACK和FIN一般都会分开发送。
VLAN又称
虚拟局域网
,是指在网络层对局域网进行划分,一个VLAN组成一个逻辑子网,即一个独立的广播域,各子网自己产生的广播网络流量被限制在各子网内部,降低数据帧的碰撞率,它可以覆盖多个网络设备,允许处于不同地理位置的网络用户
加入到一个逻辑子网中。
VLAN(虚拟局域网)的主要特点就是
安全
,信息只到达应该到达的地点。
答:运维是指对大型组织已经建立好的网络软硬件的维护,就是要保证业务上的上线和运作的正常,在运转的过程中,对它进行维护,是集合了
网络、系统、数据库、安全、监控
于一身的技术运维又包含多种,其中
应用运维
,是用运维工具为业务上线、维护和故障排查和处理
系统运维
,是给应用运维提供业务上的基础设施,比如:系统、网络、监控、硬件等
答:将
域名转换为对应的IP地址
的过程就是域名解析。DNS客户端的用户程序调用解析器软件向DNS服务器发出请求,DNS服务器调用自身的解析器完成域名解析。
答:以TCP/IP协议为核心,IP工作在第二层-网络层,TCP工作在第三层-运输层,主要有TCP和UDP协议,其中TCP是可靠协议,UDP是不可靠协议,TCP通信包括三个步骤:
三次握手后建立连接、数据传输、四次挥手后断开连接
,
参考答案:
链接分硬链接和符号链接.
符号链接可以建立对于文件和目录的链接.符号链接可以
跨文件系统,
即可以跨磁盘分区.符号链接的文件类型位是l,链接文件具有新的i节点.硬链接不可以跨文件系统.它只能建立对文件的链接,硬链接的文件类型位是-,且硬链接文件的i节点同被链接文件的i节点相同.
参考答案:
网络文件系统是
应用层
的一种应用服务,它主要应用于Linux和Linux系统、Linux和Unix系统之间的文件或目录的共享
.对于用户而言可以通过NFS方便的访问远地的文件系统,使之成为本地文件系统的一部分.采用NFS之后省去了登录的过程
,方便了用户访问系统资源.
答:只需按
ctrl+z
安装linux时至少需要
/root
分区,不过推荐最少使用3个分区,root, boot 和 swap
执行cat /var/log/messages
可以查看启动信息
89、 在Linux系统中,以
文件
方式访问设备 .
90、 Linux内核引导时,从文件/etc/fstab
中读取要加载的文件系统.
控制和监控 .
进程
管理系统、内存
管理系统、I/O
管理系统和文件
管理系统 等四个子系统.
就是是否使用递归开关
-r
或-R
.
存放系统管理员使用的管理程序.
查看当前进程:ps
执行退出:exit
查看当前路径:pwd