设为首页 收藏本站
查看: 1151|回复: 0

[经验分享] 利用Azure高级存储搭建高性能Linux服务器(2)

[复制链接]

尚未签到

发表于 2017-6-30 23:52:23 | 显示全部楼层 |阅读模式



  • 我们首先来测试随机写的IOPS,可以看到随机写的IOPS可以达到5082,顺序写的IOPS可以达到5087:   $ sudo fio -filename=/data/testfile -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=libaio -bs=16k -size=10G -numjobs=20 -runtime=60 -group_reporting -name=mytest
    DSC0000.png

      $ sudo fio -filename=/data/testfile -direct=1 -iodepth 1 -thread -rw=write -ioengine=libaio -bs=16k -size=10G -numjobs=20 -runtime=60 -group_reporting -name=mytest
    DSC0001.png




  • 同样的方法我们测试一下随机读的IOPS,默认情况下,读缓存是打开的,随机读可以达到114619万左右的IOPS,顺序读可以达到139746左右的IOPS:   $ sudo fio -filename=/data/testfile -direct=1 -iodepth 1 -thread -rw=read -ioengine=libaio -bs=4k -size=10G -numjobs=20 -runtime=60 -group_reporting -name=mytest
    DSC0002.png

      $ sudo fio -filename=/data/testfile -direct=1 -iodepth 1 -thread -rw=read -ioengine=libaio -bs=4k -size=10G -numjobs=20 -runtime=60 -group_reporting -name=mytest
    DSC0003.png




  • 我们再来做一个测试,关闭缓存服务,即缓存服务设为无,进行测试,可以看到:   随机写:5089 顺序写:5099    随机读:5163    顺序读:5102
    DSC0004.png

    DSC0005.png



RAID 0高性能磁盘配置及测试
  在有些情况下,比如高负载的MySQL,MongoDB服务器,可能对于单盘的IOPS要求高于5000,希望达到2000或者更好,那么在这种情况下,获得更高IOPS的方式就是使用软RAID,RAID 0的方式。在后续测试中,为了看到实际性能,所有磁盘的缓存都是关闭的状态,及缓存为"无"。




  • 前面已经在界面上添加了4个1T的SSD数据盘,其中sdc用来做单盘测试,剩下的sdd,sde,sdf来做RAID。


  • 使用SSH登陆虚拟机,安装RAID管理软件mdadm:   $ sudo yum install mdadm
    DSC0006.png




  • 使用mdm创建RAID 0设备/dev/mdraid   sudo mdadm --create /dev/md127 --level 0 --raid-devices 3 /dev/sdc1 /dev/sdd1 /dev/sde1
    DSC0007.png


  • 创建挂载文件目录,并格式化文件系统为ext4格式:

$ sudo mkdir /data
  $ sudo mkfs -t ext4 /dev/md127
  如果你想快速启用,快速格式化,可以使用参数-E lazy_itable_init=1
  例如:$ sudo mkfs -t ext4 -E lazy_itable_init=1 /dev/md127




  • 最后,需要把文件挂载信息添加到fstab里面,确保每次机器重启的时候可以自动挂载文件系统,首先获得刚才创建设备的UUID:   sudo /sbin/blkid
    DSC0008.png




  • 打开fstab文件,将文件关在信息添加到该文件如下:   $ sudo vi /etc/fstab
      最后一行添加(需要换成你自己的UUID)
      UUID=bf5f2973-ded3-4da2-a67a-0dc9fd36554c /data ext4 defaults 0 2
    DSC0009.png


  按照之前注意事项提到的,你需要设置barrier和nofail,所以我的fstab文件的设置如下:
  UUID=3c8289a5-de55-4e1c-9baf-5a603d8230e3 /data ext4 defaults,barrier=0,nofail 0 2


  • 执行sudo mount -a并检查当前挂载状态:
DSC00010.png





  • 在使用RAID0条带化以后,iodepth的数值会和测试结果有较大的关系,我们通过不同的参数来看一下不同的结果:
    DSC00011.png


  $ sudo fio -filename=/data/testfile -direct=1 -iodepth 32 -thread -rw=write -ioengine=libaio -bs=16k -size=10G -numjobs=20 -runtime=60 -group_reporting -name=mytest



  Iodepth

  Randwrite

  Write

  Randread

  Read

  16

  iops=15185

  iops=17523

  iops=17523

  iops=19885

  32

  iops=15164

  iops=25033

  iops=15183

  iops=30788

  128

  iops=15169

  iops=31862

  iops=15227

  iops=31805

  可以看到,在你需要更高磁盘性能,单个P30无法满足你的要求的情况下,可以使用soft RAID的方式来提升磁盘的性能,随着磁盘的增加,性能呈线性增长,当然就如之前所有,磁盘的性能依赖于磁盘的类型,磁盘的大小和虚拟机的大小,例如DS14在无缓存的情况下最大可以达到51200 IOPS,可以根据自己的需求选择合适的VM,搭配高级存储。
DSC00012.png

  最后,简单聊一下一些做数据库服务器架构设计的一些想法,在大部分情况下,创建高IOPS的虚拟机都是作为数据库来使用的,但是高性能和高可用是两个概念,如果你要保证数据库的高可用性,以MySQL来举例,你需要配置MySQL集群,比如Master-Slave模式,或者多maste多slave模式;从性能和扩展性的角度来讲,如果你使用了非常高IOPS,大内核的虚拟机,但还是不能满足要求,你需要尽早考虑一下数据库的扩展性问题,原来这种性能不够就加CPU,加内存,vertical scale的方式被证明并不是一个好的设计,无论物理机还是虚拟机,性能都是有上限的,为了满足当前大规模高并发访问的需求,数据库需要考虑sharding,分库,分表等方式来增加数据库的可扩展性,把压力分散到各个数据库节点,而且需要尽早考虑,因为这部分的改变往往需要应用程序的修改来做配合,所以大家需要综合考虑。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-389845-1-1.html 上篇帖子: [Azure][PowerShell][ASM][09]IP 下篇帖子: [Azure][PowerShell][ASM][06]VM Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表