前言

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. 编程福利:50本C语言电子书,你还怕没书看吗!

    推荐适合编程新手入门的几本经典的C语言书籍. 1.<C程序设计语言> C语言之父的著作,被称为C语言的的圣经.全球最经典的C语言教程.这本书最大的特点是精炼.读起来不会觉得"啰嗦 ...

  2. 【KM算法】UVA 11383 Golden Tiger Claw

    题目大意 给你一个\(n×n\)的矩阵G,每个位置有一个权,求两个一维数组\(row\)和\(col\),使\(row[i] + col[j]\ge G[i][j]\),并且\(∑row+∑col\) ...

  3. go 结构体与方法

    go 结构体与方法   go 结构体相当于 python 中类的概念,结构体用来定义复杂的数据结构,存储很多相同的字段属性 结构体的定义 1.结构体的定义以及简单实用 package main imp ...

  4. ansible使用setup模块查看受控机的信息(ansible2.9.5)

    一,ansible的setup模块的用途: 用来获取主机的信息 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest 对应的 ...

  5. .Net Core实现基于Quart.Net的任务管理

    前段时间给公司项目升级.net框架,把原先的任务管理平台用.net core实现,现做如下整理: 一.实现思路 之前的实现也是参考了博客园中其他文章实现的思路: 一个任务定义一个实现IJob接口的类, ...

  6. python的deque(双向)队列详解

    首先 python的队列有很多种 Python标准库中包含了四种队列,分别是queue.Queue / asyncio.Queue / multiprocessing.Queue / collecti ...

  7. Hive 建模

    date: 2020-05-24 17:55:00 updated: 2020-06-15 11:19:00 Hive 建模 1. 存储格式 textFile sequenceFile:一种Hadoo ...

  8. PLC扩展模拟量输入模块是什么

    PLC模拟量输入模块就是采集电压.电流.热电阻.热电偶或者是温度等模拟量的采集模块,然后再通过总线传输到电脑上的智能模块.其实就是一款将远程现场的模拟量信号采集到计算机的设备,模拟量是表示了在一定的范 ...

  9. NB-IOT覆盖范围有多大 NB-IOT的强覆盖是怎么实现的

    NB-IoT技术自出现以来就以其强大的覆盖范围和通讯距离长而受到广泛的欢迎,发展到现在已经成为万物互联网络中的一个重要分支.那么NB-IoT覆盖范围到底有多大,是怎么来衡量其覆盖能力? 强大的覆盖范围 ...

  10. Go--关于 goroutine、channel

    Go--关于 goroutine.channel goroutine 协程是一种轻量化的线程,由Go编译器进行优化. Go协程具有以下特点: 有独立的栈空间 共享程序堆中的空间 调度由用户控制 如果主 ...