Bug描述
uploadFile请求的测试代码
上传的文件大小为40MB
from minio import Minio
from time import time
import os
# 配置信息
# 初始化MinIO客户端
minio_client = Minio(
"ip地址:9000",
access_key="username",
secret_key="password",
secure=False
)
# 读取本地文件
file_name = "test_file/spc_record_file.csv"
file_path = os.path.join(os.getcwd(), file_name)
with open(file_path, "rb") as file:
# 记录上传开始时间
start_time = time()
# 上传文件到MinIO
minio_client.put_object(
'test', # 上传到MinIO中的存储桶名称
file_name, # 文件在桶中的路径
file, # 文件内容流
length=-1, # 使用-1表示文件长度未知
part_size=10 * 1024 * 1024 # 设置每次上传的最小分块大小为10MB
)
# 记录上传结束时间
end_time = time()
# 计算并输出上传时长
upload_time = end_time - start_time
print(f"文件上传完成,耗时:{upload_time}秒")
本地耗费时间:
服务器云端耗费时间:
因此刚开始猜测是云端配置问题,导致请求或是读取数据慢,后添加计算读取文件时间代码,发现仅需1秒
故此排除配置影响的可能性,应是请求速度慢
这时我发现我minio配置的是我服务器的ip地址,而我的minio和项目代码又在同一服务器中,尝试将ip地址改为localhost,从本地访问
Bug解决
将minio的endpoint地址改为localhost即可
原来配置为ip地址会导致请求进入服务器,又向服务器ip发出请求,最后服务器ip的minio处理请求,一波三折
然而配置为localhost后请求即可直达
上传的文件大小为140MB仅需29s
大小为40MB仅需12秒,大大加快