前言

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

rgw前端替换civetweb为beast的更多相关文章

  1. CEPH RGW多 ZONE的配置

    相关的名称解释 Region :可以理解为区域,是基于地理位置的逻辑划分:如:华南,华北之类,包含多个region的Ceph集群必须指定一个master region,一个region可以包含一个或者 ...

  2. Ceph部署(二)RGW搭建

    背景 Ceph RGW简介 Ceph RGW基于librados,是为应用提供RESTful类型的对象存储接口.RGW提供两种类型的接口: 1) S3:兼容Amazon S3RESTful API: ...

  3. Ceph RGW 和 niginx 配置要点

    cat /etc/nginx/sites-enabled/rgw.conf server { listen 80 default; #server_name .com .com.cn .net .cn ...

  4. ABP前端使用阿里云angular2 UI框架NG-ZORRO分享

    一.前言 前段时间写博客分享和介绍了阿里云的UI框架NG-ZORRO(博客请查看:http://www.cnblogs.com/donaldtdz/p/7892960.html),结合近段时间对.Ne ...

  5. 10.Ceph 基础篇 - RGW 高可用

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247485316&idx=1&sn=d3a6be41 ...

  6. ceph安装对象网关

    1.概述 安装3个网关节点分别是:controller-03.controller-04和controller-05,使用ceph gw自带的Civetweb提供服务,前端使用nginx作为前端代理. ...

  7. 4、ceph-deploy之配置使用对象存储

    从firefly(v0.80)版本开始,ceph存储显著的简化了安装和配置Ceph Object Gateway, Gateway进程嵌入到Civetweb,所以你需要安装一个web服务,或者配置Fa ...

  8. 安装ceph (快速) 步骤三: Ceph 客户端

    大多数 Ceph 用户不会直接往 Ceph 存储集群里存储对象,他们通常会使用 Ceph 块设备. Ceph 文件系统.或 Ceph 对象存储这三大功能中的一个或多个. 前提条件 先完成存储集群快速入 ...

  9. Lucene 高亮功能

    原文转载自: http://qindongliang1922.iteye.com/blog/1953409 高亮功能一直都是全文检索的一项非常优秀的模块,在一个标准的搜索引擎中,高亮的返回命中结果,几 ...

随机推荐

  1. 接口管理平台Yapi

    1.介绍 YApi 是由去哪儿移动架构组推出的一款开源项目,是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务. 官网:https://yapi.ymfe. ...

  2. 【git冲突解决】: Please commit your changes or stash them before you merge.

    刚刚使用 git pull 命令拉取代码时候,遇到了这样的问题: error: Your local changes to the following files would be overwritt ...

  3. DefenseCode宣布集成GitHub为开发人员提供SAST解决方案

    DefenseCode集团宣布,DefenseCode静态应用程序安全测试(SAST)ThunderScan解决方案现可作为一个GitHub Action,提供30多种语言的安全漏洞分析,并将详细的漏 ...

  4. GO-数据类型

    目录 数据类型 1.分类 2.布尔类型 3.整型 4.浮点型 5.字符类型 6.字符串 7.复数类型 数据类型 1.分类 Go语言内置以下这些基础类型: 类型 名称 长度 零值 说明 bool 布尔类 ...

  5. suse使用镜像源

    创建挂载目录,随便建个目录 mkdir /mnt/cdrom 光盘连上,挂载光盘 mount -t iso9660 /dev/sr0 /mnt/cdrom/#确保挂上了ls看看/mnt/cdrom是否 ...

  6. JavaWeb中的域对象

    域对象:可以在不同Servlet之间传递数据的对象,就是域对象,它们内置了map集合,都有setAttribute和getAttribute方法: Java Web有ServletContext.Se ...

  7. Django( 学习第三部 Django的url路由层)

    目录 url路由层 路由匹配(有名分组与无名分组) 反向解析 路由分发 名称空间(了解) Django版本区别 url 路由匹配 注意事项: url方法,第一个参数是正则表达式,只要第一个参数能够匹配 ...

  8. vue3.0 的 Composition API 的一种使用方法

    网上讨论的文章已经很多了,这里举一个简单的例子来讨论一下 Composition API 的用法,具体问题才好具体讨论嘛. 假如我们要做一个论坛的讨论列表和分页,以前是把需要的数据都放在data里面, ...

  9. 观察者模式EventBus

    EventBus能够简化各组件间的通信,让我们的代码书写变得简单,能有效的分离事件发送方和接收方(也就是解耦的意思),能避免复杂和容易出错的依赖性和生命周期问题. implementation 'or ...

  10. 自定义Jackson2HttpMessageConverter,适应.html后缀url

    Jackson2HttpMessageConverter 用处 SpringMVC中,controller中的方法返回java Bean对象,mvc将此对象转换成字符串 默认支持的mediaType: ...