关于Minio性能优化 A timeout exceeded while waiting to proceed with the request, please reduce your request

这篇具有很好参考价值的文章主要介绍了关于Minio性能优化 A timeout exceeded while waiting to proceed with the request, please reduce your request。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

因生产环境数据量和并发量过大,Minio会出现上传超时问题

具体报错:A timeout exceeded while waiting to proceed with the request, please reduce your request

经查阅资料,有4种解决方案

查阅文献:
https://www.oomake.com/question/17229356
https://www.nuomiphp.com/t/6254af8578e87f77ee3d038c.html
https://www.hxstrive.com/subject/minio/673.htm
https://github.com/minio/minio/tree/master/docs/config#api
https://blog.csdn.net/qq_62982856/article/details/128995909

1.检查Minio代码,有使用到流的地方需要及时关闭流
  • 手动关闭
try {           
    // 获取输入流
    InputStream inputStream = minioClient.getObject(
            GetObjectArgs
                    .builder()
                    .bucket(bucket)
                    .object(filePath)
                    .build()
    );
    // 关闭流
    inputStream.close();         
} catch (Exception e) {
    e.printStackTrace();
}
  • 使用try catch自动关闭流
try (InputStream input = downloadFileStream(fileName);ByteArrayOutputStream bos = new ByteArrayOutputStream()){
    //缓存
    byte[] b = new byte[1024];
    int n;
    while ((n = input.read(b)) != -1) {
        bos.write(b, 0, n);
    }
    //改变为byte[]
    return bos.toByteArray();
}catch (Exception e) {
    log.error("Minio出错",e);
}
2.检查Minio存储目录

部署单机版Minio时,假设你文件存放的目录为 a/,不要放太多的 object ,应该分开放
比如以日期,或者文件 hash 取几位建目录再把 object 放进去
因为单机版存在这样一个问题,就是如果一个文件夹 a/下面有多个 object ,你 100 万个全放 a/下面,list 性能会非常低,单机版似乎是以源文件方式直接存到磁盘的

3.部署Minio集群

集群要求:至少4个Minio服务

  • 4台机器,每一台机器一个Minio,每一个Minio指定当前机器硬盘

或其它组合方式部署Minio集群,部署Minio集群前先百度一下部署集群的要求

4.优化Minio配置参数
  • docker可以设置Minio环境变量来设置Minio配置
环境变量 单位 说明
MINIO_API_REQUESTS_MAX number set the maximum number of concurrent requests (default: ‘0’)
MINIO_API_REQUESTS_DEADLINE duration set the deadline for API requests waiting to be processed (default: ‘10s’)
MINIO_API_CLUSTER_DEADLINE duration set the deadline for cluster readiness check (default: ‘10s’)
MINIO_API_CORS_ALLOW_ORIGIN csv set comma separated list of origins allowed for CORS requests (default: ‘*’)
MINIO_API_REMOTE_TRANSPORT_DEADLINE duration set the deadline for API requests on remote transports while proxying between federated instances e.g. “2h” (default: ‘2h’)
MINIO_API_LIST_QUORUM string set the acceptable quorum expected for list operations e.g. “optimal”, “reduced”, “disk”, “strict” (default: ‘strict’)
MINIO_API_REPLICATION_PRIORITY string set replication priority (default: ‘auto’)
MINIO_API_TRANSITION_WORKERS number set the number of transition workers (default: ‘100’)
MINIO_API_STALE_UPLOADS_EXPIRY duration set to expire stale multipart uploads older than this values (default: ‘24h’)
MINIO_API_STALE_UPLOADS_CLEANUP_INTERVAL duration set to change intervals when stale multipart uploads are expired (default: ‘6h’)
MINIO_API_DELETE_CLEANUP_INTERVAL duration set to change intervals when deleted objects are permanently deleted from “.trash” folder (default: ‘5m’)
MINIO_API_DISABLE_ODIRECT boolean set to disable O_DIRECT for reads under special conditions. NOTE: it is not recommended to disable O_DIRECT without prior testing. (default: ‘off’)

MINIO_API_REQUESTS_DEADLINE 和 MINIO_API_STALE_UPLOADS_EXPIRY 是我此次优化的环境变量

minio连接超时,Minio,java,docker,jvm文章来源地址https://www.toymoban.com/news/detail-601264.html

  • 通过设置config.josn文件设置Minio配置
    参考:https://github.com/minio/minio/tree/master/docs/config#api

到了这里,关于关于Minio性能优化 A timeout exceeded while waiting to proceed with the request, please reduce your request的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySql报1205:1205 - Lock wait timeout exceeded; try restarting transaction,出现1205如何解决

    问题:当在mysql执行一个DDL语句时候,报1205. 本来想删除一段时间的数据,语句如下: 报错如下:1205 - Lock wait timeout exceeded; try restarting transaction,主要是源数据都是屁了insert的,可能没有提交,资源被占,现在杀掉这个 锁住的进程id就OK。 1.执行 SHOW FULL PROCESSLIST,找到这个

    2024年02月13日
    浏览(43)
  • 解决docker-compose up -d 出现Client.Timeout exceeded while awaiting headers的问题(配置docker国内镜像源)

    首先出现的问题是输入 docker-compose up -d 出现如下情况 Pulling tars-mysql (mysql:5.6)... ERROR: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) 或者是可以下载但是速度奇慢,下载几十分钟最后还是失败的情况。 大部分的do

    2024年02月11日
    浏览(31)
  • 《Kafka系列》Offset Explorer连接Kafka问题集合,Timeout expired while.. topic metadata,Uable to find any brokers

    1.创建语句如下所示,按照习惯在添加zookeeper参数的时候,指定了 zxy:2181/kafka ,但是却创建失败, Error while executing topic command : Replication factor: 1 larger than available brokers: 0. 2.检查各个broker的server.properties文件 发现在配置参数的时候, zookeeper.connect 指定的是 zxy:2181,zxy:2182,zxy:21

    2024年02月06日
    浏览(50)
  • wait_timeout and interactive_timeout 参数

    非交互模式连接:通常情况下,应用到RDS实例会采用非交互模式,具体采用哪个模式需要查看应用的连接方式配置,比如PHP通过传递MYSQL_CLIENT_INTERACTIVE常量给mysql_connect()函数即可开启连接的交互模式。wait_timeout参数控制非交互模式连接的超时时间(单位秒,默认值为24小时即

    2024年02月08日
    浏览(27)
  • mysql 设置wait_timeout连接等待时间

    扩展阅读wait_timeout 是mysql在关闭一个非交互的连接之前所要等待的秒数,其取值范围为1-2147483(Windows),1-31536000(linux),默认值28800。 1. 查询当前mysql连接等待时间(wait_timeout) 如果前期没有设置wait_timeout的时间默认时间28800 2. 在数据库配置文件内加上wait_timeout设置 mysql 5以上的

    2024年02月11日
    浏览(29)
  • ssh 启动失败,状态报:activing(start),timeout exceeding

    某次权限配置过程中,突然出现ssh断开,后查,ssh无法重启,状态异常,报超时断开,现场环境8.2版本: 1)检查日志报错如下: 2)前一天晚上,ssh无论怎样都无法正常,启动也显示是/usr/sbin/sshd -D [listener] 0 of 10-100 startups,状态始终显示超时,有意思的是,第2天查看的时候

    2024年02月16日
    浏览(32)
  • openGauss学习笔记-199 openGauss 数据库运维-常见故障定位案例-Lock wait timeout

    199.1 执行 SQL 语句时,提示 Lock wait timeout 199.1.1 问题现象 执行SQL语句时,提示“Lock wait timeout”。 199.1.2 原因分析 数据库中存在锁等待超时现象。 199.1.3 处理办法 数据库在识别此类错误后,会自动进行重跑,重跑次数可以使用max_query_retry_times控制。 需要分析锁超时的原因,

    2024年01月16日
    浏览(44)
  • org.apache.http.conn.ConnectionPoolTimeoutException: Timeout waiting for connection from pool

    Java HttpUtil 出现错误: org.apache.http.conn.ConnectionPoolTimeoutException: Timeout waiting for connection from pool         最近项目中大量调用http请求,线上出现了 ConnectionPoolTimeoutException  这个问题,但是本地服务器一直没能复现出来,但是定位问题应该是之前调用http的工具类封装的有问

    2024年02月13日
    浏览(38)
  • 关于前端性能优化

    前端性能优化是提高网站加载速度、响应速度和用户体验的关键步骤之一。以下是一些常见的前端性能优化方法: 压缩和合并资源: 使用压缩工具(如UglifyJS、Terser)来压缩JavaScript代码。 使用CSS压缩工具(如CSSNano、csso)来压缩CSS代码。 将多个CSS和JavaScript文件合并为单个文

    2024年02月21日
    浏览(26)
  • Kafka中的fetch-min-size、fetch-max-wait和request.timeout.ms配置

    当前kafka的版本为2.8.11,Spring Boot的版本为2.7.6,在pom.xml中引入下述依赖:  然后在yml配置文件进行如下配置: 1、fetch-min-size fetch-min-size表示消费者一次拉取请求中,服务器应该返回的最小数据量,单位是字节,默认值为1个字节。如果服务器没有足够的数据返回,请求会等待

    2024年02月02日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包