数据库TPCC性能调优归纳

本文介绍了数据库参数设置,如data_buffer、sga_buffer等,以及网络优化措施,如RingBuffer管理、RX哈希域调整和多队列技术,同时涵盖CPU中断绑定以提高性能和避免瓶颈。
摘要由CSDN通过智能技术生成

数据库自身参数调整

数据库参数根据具体数据库进行设置

data_buffer

sga_buffer

并发数

刷盘机制

日志文件大小

表分区数

pctfree

网络优化

设置ring buffer

 Ring Buffer 的空间是有限的,当收到的数据包速率大于单个 CPU 处理速度的时候 Ring Buffer 可能被占满,占满之后再来的新数据包会被自动丢弃

ethtool -g eth0
ethtool -G eth0 rx 4096 tx 4096

设置网络流的 RX 哈希域

调整 RSS 计算哈希时所使用的字段,增加源和目的端口,调整后的作用暂不清楚

ethtool -n  eth0 rx-flow-hash udp4
ethtool -N  eth0 rx-flow-hash udp4 sdfn

设置多队列

多队列网卡顾名思义就是由原来的单网卡单队列变成了现在的单网卡多队列。多队列网卡是一种技术,随着网络IO的带宽的不断提升,单核CPU不能完全处满足网卡的需求,体现最为明显的就是单核CPU处理不了网卡大量的数据包请求(软中断)而造成大量丢包,其实当网卡收到数据包时会产生中断,通知内核有新数据包,然后内核调用中断处理程序进行响应,把数据包从网卡缓存拷贝到内存,因为网卡缓存大小有限,如果不及时拷出数据,后续数据包将会因为缓存溢出被丢弃,因此这一工作需要立即完成。剩下的处理和操作数据包的工作就会交给软中断,高负载的网卡是软中断产生的大户,很容易形成瓶颈。但通过多队列网卡驱动的支持,将各个队列通过中断绑定到不同的CPU核上,以满足网卡的需求,这就是多队列网卡的应用

ethtool -l eth0查看队列数
ethtool -L eth0 combined 8 设置队列数

[root@aabbc ~]# ethtool -l eth0
Channel parameters for eth0:
Pre-set maximums:
RX:             0
TX:             0
Other:          1
Combined:       63
Current hardware settings:
RX:             0
TX:             0
Other:          1
Combined:       8

cpu优化

网卡中断绑定cpu

将处理中断的cpu绑定到固定的cpu上,避免对其他cpu造成中断

查看网卡中断号

cat /proc/interrupts | grep eth0  | awk -F: '{print $1}'

24

25

26

27

查看当前中断使用的cpu

cat /proc/irq/24/smp_affinity_list

将中断号24和cpu0绑定

echo 1 > /proc/irq/124/smp_affinity_list

将中断号25和cpu1绑定

echo 2 > /proc/irq/25/smp_affinity_list

数据库进程绑定cpu

将数据库进程绑定到固定cpu上,避免使用处理网卡中断的cpu

numactl -C 0-79 启动数据库进程命令

暂时使用的方法如上,实时更新优化方法

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值