前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DRBD-优化性能

DRBD-优化性能

作者头像
星哥玩云
发布2022-06-28 16:51:24
4510
发布2022-06-28 16:51:24
举报
文章被收录于专栏:开源部署

测试吞吐量:

测试系统吞吐量不是关键,最重要的是在使用DRBD性能前后的影响;该测试使用一个512M的块到drbd设备,进行对比测试

#!/bin/bash

resource=r0

test_device=`drbdadm sh-dev $resource`

test_ll_device=`drbdadm sh-ll-dev $resource`

drbdadm primary $resource

for i in $(seq 5)

do

    dd if=/dev/zero of=$test_device bs=512M count=1 oflag=direct

done

drbdadm down $resource

for i in $(seq 5)

do

    dd if=/dev/zero of=$test_ll_device bs=512M count=1 oflag=direct

done

drbdadm  up  $resource

 注意:  1、dd 要使用关键字 oflag=direct 即写文件的时候忽略cache的影响;还有一个可选的关键字iflag=directio, 用来控制源文件和目标文件的读写方式为directio;  2、以上脚本是需要两个角色是secondary的时候进行测试;  3、测试完,在设定primary node 并挂载/dev/drbd0的时候会提示“mount: you must specify the filesystem type”,需要重新格式化/dev/drbd0  优化部分:  这个主要还是看硬件,磁盘的转速啊,网络的吞吐啊,  调整参数建议: net {   max-buffers 8000;   max-epoch-size 8000;   sndbuf-size 0; }

 max-buffers:是drbd数据写入到磁盘缓冲区的最大数,默认为2048;  max-epoch-size 是两个写入瓶颈的最大允许写的数量;  sndbuf-size: TCP发送缓冲区大小,设置为0,可以自动调节大小;      syncer {   rate 90M;   al-extents 257; }

 al-extents: 活动日志的大小,多少个x4M 的block;增大这个值的好处是:  减少更新元数据到drbd 设备上的频率;  降低同步数据时对IO流的中断数量;  提高drbd设备相应速度;  存在的风险是:当primary node crash 后,所有的活动数据(al-extentsx 4M block)需要重新同步,这个时间secondary node 是outdate状态,修复时间变长;  sync rate 参数设置,只有 backgroud re-synchronization才会受限于该参数的设置;另一个同步进程只负责同步一些block的更改,不受限该参数;所以改值不要设置的太大,以防占用太多的带宽,导致IO出现同步异常; disk {   on-io-error  detach;   disk-flushes no; }

 磁盘考虑不少于6块15K的sas磁盘做raid10,或者直接使用ssd ,如果raid 卡有bbu电池保护的话,可以考虑进行禁止drbd的磁盘刷写;  可以参考官网推荐,更改IO调度算法:  echo deadline  >  /sys/block/<device>/queue/scheduler (sas盘可以用deadline;ssd的话可以考虑使用noop调度算法)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档