前言

在比对rgw的不同前端的区别的时候,官方说civetweb是通过线程池来控制连接的,beast是后面加入了流控相关的,这块一直也没有调整过相关的参数,然后通过ab压测了一下,还是有很明显的区别的

测试很简单,虚拟机下面就可以完成

测试过程

rgw_thread_pool_size = 512

默认参数为这个

[root@lab201 ~]# ps -ef|grep radosgw
root 242156 239377 0 11:42 pts/1 00:00:02 tailf /var/log/ceph/ceph-client.radosgw1.log
ceph 247068 1 3 11:53 ? 00:00:00 /usr/bin/radosgw -f --cluster ceph --name client.radosgw1 --setuser ceph --setgroup ceph
root 247654 234613 0 11:53 pts/0 00:00:00 grep --color=auto radosgw
[root@lab201 ~]# cat /proc/247068/status|grep Thread
Threads: 579

启动rgw进程后可以去查看这个进程的线程数目,基本接近设置值的,还有一些其它需要用的线程

我们往s3接口里面传输一个很小的文件 260 bytes的文件,让这个文件可以公共访问,然后使用ab去并发连接这个文件,这里不是去看整个集群的负载多大,而是看下在相同的环境情况下,参数的改变会有什么区别

ab测试

ab -c 1000 -n 50000 http://192.168.0.201:7481/test/index.txt

1000个并发请求50000次

测试输出

Percentage of the requests served within a certain time (ms)
50% 180
66% 186
75% 193
80% 198
90% 214
95% 1182
98% 1205
99% 2019
100% 7589 (longest request)

我们调整rgw_thread_pool_size = 128再测试一轮

基本无法完成测试

[root@lab204 ~]# ab -c 1000 -n 50000 http://192.168.0.201:7481/test/index.txt
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 192.168.0.201 (be patient)
Completed 5000 requests
Completed 10000 requests
apr_socket_recv: Connection reset by peer (104)
Total of 14351 requests completed

我们再加大参数配置rgw_thread_pool_size = 1024

[root@lab204 ~]# ab -c 1000 -n 50000 http://192.168.0.201:7481/test/index.txt
Percentage of the requests served within a certain time (ms)
50% 281
66% 286
75% 290
80% 293
90% 299
95% 305
98% 310
99% 313
100% 1309 (longest request)

可以看到与512线程的时候明显的有所改善了

基于以上可以看到,线程如果设置小了,而外部的请求的并发连接大了,可能出现服务不响应的情况,而适当的加大线程数,也能一定程度上改善请求的效果,上面的测试仅测试验证参数的影响,而实际落地到真实环境,还需要慢慢调整

luminous版本的beast也是需要调整上面的线程池的参数来应对超多连接的情况的,否则客户端很容易就异常了

客户端并发请求最大值调整

[root@lab204 ~]# ab -c 3000 -n 50000 http://192.168.0.201:7481/test/index.txt
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 192.168.0.201 (be patient)
socket: Too many open files (24)

默认的为1024,需要调整下参数

[root@lab204 ~]# ulimit -n 4096

调整后就可以加大并发请求了

变更记录

Why Who When
创建 武汉-运维-磨渣 2020-09-11

rgw的rgw_thread_pool_size配置调整的更多相关文章

  1. Flume中的flume-env.sh和log4j.properties配置调整建议(图文详解)

    GC是内存的回收的意思. Flume中的flume-env.sh配置调整建议 [hadoop@master conf_HostInterceptor]$ pwd /home/hadoop/app/fl ...

  2. 第15.2节 PyCharm支持Python解释器的配置调整

    上节介绍了PyCharm的安装与简单使用,本节介绍PyCharm相关的配置调整,以支持在PyCharm环境下集成Python解释器进行程序的编译. 一. 工程配置调整 在执行文件前,可能需要对PyCh ...

  3. Ceph RGW 和 niginx 配置要点

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

  4. 009.KVM配置调整

    一 内存CPU调整 1.1 增大虚拟机内存 [root@kvm-host ~]# virsh shutdown vm01-centos6.8 [root@kvm-host ~]# virsh edit ...

  5. 虚拟机(Vmware)安装ubuntu18.04和配置调整(二)

    二.配置修改 1.修改语言环境(settings->Region & Language) 选中中文简体(Chinese(simplified)),点击Apply 中文简体语言安装完成后, ...

  6. MySQL 5.6初始配置调整

    原文链接: What to tune in MySQL 5.6 after installation原文日期: 2013年09月17日翻译日期: 2014年06月01日翻译人员: 铁锚 随着 大量默认 ...

  7. jupyter notebook 初步使用配置调整

    jupyter notebook 官方说明 初始部分: 如何打开特定的笔记本? 以下代码应在当前运行的笔记本服务器中打开给定的笔记本,必要时启动一个. jupyter notebook noteboo ...

  8. Smokeping配置调整

    smokeping两种邮件报警方式 一 .自带sendmail报警 修改这两句话to = 收件邮箱,多个逗号分隔from = smokealert@本机IP /usr/local/smokeping/ ...

  9. ceph 007 双向池同步 rgw对象网关配置 s3对象存储

    增量导入导出要基于快照 导出的过程当中害怕镜像被修改所以打快照.快照的数据是不会变化的 镜像级别的双向同步 镜像主到备,备到主.一对一 就算是池模式的双向同步,镜像也具有主备关系 双向同步,池模式 [ ...

随机推荐

  1. docker registry 记录

    部署 运行下面命令获取registry镜像 docker pull registry 下载到的版本默认为 docker.io/registry latest 将registry镜像运行并生成一个容器 ...

  2. 【原创】xenomai3.1+linux构建linux实时操作系统-基于X86_64和arm

    版权声明:本文为本文为博主原创文章,转载请注明出处.如有问题,欢迎指正.博客地址:https://www.cnblogs.com/wsg1100/ 目录 一.概要 二.环境准备 1.1 安装内核编译工 ...

  3. Docker 也是本地开发的一神器:部署单机版 Pulsar 和集群架构 Redis

    原文链接:Docker 也是本地开发的一神器:部署单机版 Pulsar 和集群架构 Redis 一.前言: 现在互联网的技术架构中,不断出现各种各样的中间件,例如 MQ.Redis.Zookeeper ...

  4. 1024|推荐一个开源免费的Spring Boot教程

    2020-1024=996! 今天,星期六,你们是否加班了?我反正加了!早上去公司开了一早上会,中午回家写下了这篇文章. 今天,我要推荐一个开源免费的Spring Boot项目,就是我最近日更的Spr ...

  5. CorelDRAW x4 提示非法软件产品被禁用解决方法教程

    偶尔翻开移动硬盘,找到这货,CorelDraw X4简体中文正式版.网上现在比较难下载得到了,X4是我最常用的一个.现在把它分享出来,有需要的可以去下载使用. CDR全名CorelDRAW ,是加拿大 ...

  6. 腾讯云服务器简单搭建并部署WEB文件

    废话不多说直接上图 提前准备以下软件 1. Xshell6 链接你的服务器用 2. FileZilla 上传文件使用 首先你得有服务器吧,去某云买一个,我买的额配置如下 然后去控制台---登录  修改 ...

  7. CNN作为denoiser的优势总结

    图像恢复的MAP推理公式: $\hat{x}\text{}=\text{}$arg min$_{x}\frac{1}{2}||\textbf{y}\text{}-\text{}\textbf{H}x| ...

  8. [SuProxy]Ngnix+Lua 实现SSH2,LDAP,ORACLE,SQLSERVER等TCP/IP协议分析,劫持,代理,会话及负载

    目录 目录 目录 前言 介绍 安装 下载并拷贝 使用LuaRocks安装 运行测试 使用简介 处理器(processor)创建 通道(channel)创建 负载均衡 会话信息和会话管理 Event H ...

  9. Luogu P2536 [AHOI2005]病毒检测

    题意 给一个有通配符的模式串和 \(n\) 个文本串,其中 ? 可以匹配任意字符,* 可以匹配 \(0\) 或任意多个字符,求 \(n\) 个文本串中无法与模式串匹配的数量. \(\texttt{Da ...

  10. CodeForces 1419F Rain of Fire

    题意 不想写. 题解 场上想了 1h+ 无果,一到场外就口胡出来了,我真是个 sb. 首先注意到如果 \(t\) 满足条件那么 \(t+1\) 也会满足,所以答案具有单调性,可以二分,于是现在只需要考 ...