zoukankan      html  css  js  c++  java
  • rgw前端替换civetweb为beast

    前言

    ceph的rgw现在提供了两种前端, civetweb和beast

    配置

    修改配置文件

    rgw_frontends = civetweb port=7481
    

    rgw frontends = beast  port=7481
    

    然后重启rgw进程,查看日志

    2020-09-11 10:23:52.117738 7f90b45f8000  0 ceph version 12.2.13 (584a20eb0237c657dc0567da126be145106aa47e) luminous (stable), process radosgw, pid 235781
    2020-09-11 10:23:52.204891 7f90b45f8000 -1 *** experimental feature 'rgw-beast-frontend' is not enabled ***
    This feature is marked as experimental, which means it
     - is untested
     - is unsupported
     - may corrupt your data
     - may break your cluster is an unrecoverable fashion
    To enable this feature, add this to your ceph.conf:
      enable experimental unrecoverable data corrupting features = rgw-beast-frontend
    

    这个在 ceph version 12.2.13还是这个提示,后面的版本里面就没这个了

    增加配置文件

    enable experimental unrecoverable data corrupting features = rgw-beast-frontend
    到global里面

    在这个https://github.com/ceph/ceph/pull/21272/commits/f1e826ad7f074195b87b7bbd37fcb74d4ca626cb提交之后去掉实验性质的

    master (#21272)  v16.0.0  v15.2.4 v15.2.3 v15.2.2 v15.2.1 v15.2.0 v15.1.1 v15.1.0 v15.0.0 v14.2.11 v14.2.10 v14.2.9 v14.2.8 v14.2.7 v14.2.6 v14.2.5 v14.2.4 v14.2.3 v14.2.2 v14.2.1 v14.2.0 v14.1.1 v14.1.0 v14.0.1 v14.0.0 v13.2.10 v13.2.9 v13.2.8 v13.2.7 v13.2.6 v13.2.5 v13.2.4 v13.2.3 v13.2.2 v13.2.1 v13.2.0 v13.1.1 v13.1.0
    

    在这些版本里面去掉了这个标记的

    重启rgw进程

    再次查看日志

    2020-09-11 10:35:18.189630 7fe5891bf000  0 starting handler: beast
    2020-09-11 10:35:18.192804 7fe5891bf000  0 set uid:gid to 167:167 (ceph:ceph)
    2020-09-11 10:35:18.205123 7fe5891bf000  1 mgrc service_daemon_register rgw.radosgw1 metadata {arch=x86_64,ceph_version=ceph version 12.2.13 (584a20eb0237c657dc0567da126be145106aa47e) luminous (stable),cpu=Intel(R) Core(TM) i7-10710U CPU @ 1.10GHz,distro=centos,distro_description=CentOS Linux 7 (Core),distro_version=7,frontend_config#0=beast  port=7481,frontend_type#0=beast,hostname=lab201,kernel_description=#1 SMP Thu Nov 8 23:39:32 UTC 2018,kernel_version=3.10.0-957.el7.x86_64,mem_swap_kb=0,mem_total_kb=3861512,num_handles=1,os=Linux,pid=236518,zone_id=80576aa5-448e-470d-aee4-ac8662d35e62,zone_name=default,zonegroup_id=5eced993-d226-4e15-9a4f-5362a3da3c19,zonegroup_name=default}
    

    没有问题了,然后直接访问即可

    待确认问题

    • 性能的变化
    • 稳定性的变化
    • 资源占用的变化

    使用前需要看下是不是有这个问题(周期性的崩溃)

    https://tracker.ceph.com/issues/39660
    

    已经解决了的问题

    https://github.com/ceph/ceph/pull/30746
    https://github.com/ceph/ceph/pull/30746/files
    

    这个问题应该是14.2.4这个版本还存在,14.2.5以及之后的版本就解决这个崩溃的问题

    beast增加参数来控制并发请求的

    rgw max concurrent requests
    

    默认1024,最开始出来的适合8192后面调整了,这个可以控制一下高负债下的内存占用,相当于qos的作用
    civetweb是通过前端的线程来控制的

    max_connection_backlog
    

    这个参数也是后面增加来控制连接数的,12的版本还没有这个功能

    luminous版本

    从测试来看,ab压3000的连接的时候,开始通过rgw上面的ss查询连接数目稳定在500作用,过一会就增加了,然后到1000左右就崩掉了,这个应该跟beast使用的boost库有关系,上面提到了后面的版本增加了参数的配置,默认的就是boost自己自带的参数的

    变更记录

    Why Who When
    创建 武汉-运维-磨渣 2020-09-11
  • 相关阅读:
    Thinkphp的import使用方法
    bug1
    setTimeout关于函数名做参数的问题
    ubuntu-12.04.5安装cacti笔记
    第七周作业
    第六周作业
    第五周作业
    第四周编程总结
    2019年春季学期第三周作业
    第二周编程总结
  • 原文地址:https://www.cnblogs.com/zphj1987/p/13650324.html
Copyright © 2011-2022 走看看