1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 高性能kvm服务器 KVM进阶之(一)KVM性能监视与优化

高性能kvm服务器 KVM进阶之(一)KVM性能监视与优化

时间:2021-01-17 07:17:23

相关推荐

高性能kvm服务器 KVM进阶之(一)KVM性能监视与优化

为什么要性能监视

通过性能监视,你可以

1:了解服务器的工作负荷以及对服务器资源的影响

2:了解性能的改变和性能趋势以便及采取措施

3:测试调整结果

4:诊断系统问题并确定优化措施

分析性能数据确定系统瓶颈

建立性能基线

服务器性能监视的最佳策略

建立性能日志

尽量减少性能监视本身对服务器所造成的影响

分析监视结果,建立性能基线

创建警报

调整系统

scale Up

scale Out

分析性能趋势,提前采取措施

监视工具

你熟悉的,容易得到的,针对四大资源子系统

监视linux性能的18个命令行工具

优化重点:存储 与 网络

CPU优化

#cpu有user 和sys两种状态(用户态和内核态)

若是跑了虚拟机还分

vm-user vm-sys p-user p-sys

#虚拟机用户态,内核态 物理机用户态,内核态

#用mpstat 进行查看

NUMA

centos7默认启用了numa

限制某个虚拟机运行到某个cpu上,可以使用钉选功能,独占cpu

#优化思想(绑定)

一般L2是在一个物理cpu的多个核上共享的,若是有多个物理cpu,为了避免qemu调度到其他物理CPU上导致缓存失效,延长中断时间,可以将为某个虚拟机的qemu进程绑定到某个指定的物理CPU上(为什么可以绑定,为什么绑定后可以提升性能,因为一个虚拟机就是一个qemu进程,所有可以绑定,为什么能提升性能,上面已经解释了)

方法:taskset -cp 0 #-p表示进程的pid,-c指定cpu的列表

MEM优化

DMA:直接内存访问

KSM:内存合并,他会周期地扫描内存,会将内存副本中一样的东西,合并只保留一份,多用在私有云上,跑的业务相近或相似的,当在共有云上建议关闭,因为公有云业务复杂,而且ksm扫描也会耗用cpu资源

1:不建议多分配内存(需要多少分多少)

2:大页内存和透明页内存

大页内存:大页内存是不会被交换出去的

cat /proc/meminfo | grep HugePages #查看内存信息(过滤大页内存)

修改大页内存

????

减少对swap的使用

cat /proc/sys/vm/swappiness #查看swap的使用权重,默认是60,将其改小可以减少系统对swap的使用

修改系统对swap的使用权重值

vim /etc/sysctl.conf

vm.swappiness=10

刷新生效sysctl -p

网络优化

1:使用多个网络避免单一网络过载(多网分离,业务,管理,心跳,bond)

2:调整MTU,通过提高最大传输单元值,可以减少碎片(网络设备也需要调整)

3:使用arp_filter 阻止ARP Flux

运行 echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter

或者编辑/etc/sysctl.conf让重启设置也能生效

4:virtio和vhost_net (若是windows虚拟机,尽量不要使用rt8139)

vhost_net将部分virtio驱动重用户空间移至kernel

这将减少复制操作,降低延迟和CPU占用量

5:设备分配和Single Root -IOV(将物理网卡直接分配给虚拟机,但是设备迁移时会受限,不能分配给多个虚拟机)

设备分配使整个设备在客户机中可用

SR-IOV需要驱动和硬件中的支持,实现最低延迟(需要硬件支持)

6:桥接零复制传输(Bridge Zero Copy Transmit)

7:多队列virtio-net

存储优化(有磁盘文件和lvm块设备,这里的优化对磁盘文件来说更多些)

1:磁盘I/O节流

避免虚拟机过度使用共享资源,并防止影响其他虚拟机性能

可通过virtual-manager或virsh来进行配置 IO Tuning

比如:将虚拟机中的vda节流至 I/O 每秒1000 ,吞吐量每秒50MB

virsh blkdeviotune testvm vda --total-iops-sec 1000 --total-bytes-sec 52428800

2:缓存

none

writethrough

writeback

directsync

unsafe

default

3:I/O模式

native

threads

default:centos7默认为线程模式

4:块I/O调整

weight

device-weights

config

live

current

5:多队列 virtio-scsi

如果文章对你有帮助,欢迎点击上方按钮打赏作者

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。