【PTS压测超时】压测超过250QPS时,简单上传开始出现大量失败
Closed this issue · 3 comments
FindSunny commented
代码逻辑如下:
public static string PutObjectToOss(Stream fs)
{
var guidStr = Guid.NewGuid().ToString("N");
var randName = guidStr.Substring(3, 5);
var filename = $"shopguide/imageCreateZhao1/{guidStr}.jpg";
Stopwatch sw = new Stopwatch();
sw.Start();
var res = client.PutObject(bucketName, filename, fs);
sw.Stop();
if (res.HttpStatusCode.ToString() == "OK")
return $"{alidomain}{filename}";
return string.Empty;
}
报错如下:
2021-01-07 14:45:11.9839 [Error]:uploadImage失败:One or more errors occurred. (A task was canceled.)
at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at Aliyun.OSS.Common.Communication.ServiceClientNewImpl.SendCore(ServiceRequest request, ExecutionContext context)
at Aliyun.OSS.Common.Communication.ServiceClient.Send(ServiceRequest request, ExecutionContext context)
at Aliyun.OSS.Common.Communication.RetryableServiceClient.SendImpl(ServiceRequest request, ExecutionContext context, Int32 retryTimes)
at Aliyun.OSS.Commands.OssCommand.Execute()
at Aliyun.OSS.OssClient.PutObject(PutObjectRequest putObjectRequest)
at CRM.ShopGuide.Common.AliOSSHelper.PutObjectToOss(Stream fs) in /data/code/xxx_imageCreate/CRM.ShopGuide.Common/AliOSSHelper.cs:line 289
at CRM.ShopGuide.ImageCreate.Service.ImageCreateService.uploadImage55(Stream fs) in /data/code/xxx_imageCreate/CRM.ShopGuide.ImageCreate/Service/ImageCreateService.cs:line 485
wannvmi commented
我也遇到了相似的问题
System.AggregateException: One or more errors occurred. (An error occurred while sending the request.)
---> System.Net.Http.HttpRequestException: An error occurred while sending the request.
---> System.IO.IOException: The response ended prematurely.
at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithNtConnectionAuthAsync(HttpConnection connection, HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.FinishSendAsyncUnbuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at Aliyun.OSS.Common.Communication.ServiceClientNewImpl.SendCore(ServiceRequest request, ExecutionContext context)
at Aliyun.OSS.Common.Communication.ServiceClient.Send(ServiceRequest request, ExecutionContext context)
at Aliyun.OSS.Common.Communication.RetryableServiceClient.SendImpl(ServiceRequest request, ExecutionContext context, Int32 retryTimes)
at Aliyun.OSS.Commands.OssCommand.Execute()
at Aliyun.OSS.OssClient.PutObject(PutObjectRequest putObjectRequest)
FindSunny commented
我也遇到了相似的问题
System.AggregateException: One or more errors occurred. (An error occurred while sending the request.) ---> System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.IO.IOException: The response ended prematurely. at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken) --- End of inner exception stack trace --- at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.SendWithNtConnectionAuthAsync(HttpConnection connection, HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken) at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) at System.Net.Http.HttpClient.FinishSendAsyncUnbuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts) --- End of inner exception stack trace --- at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification) at Aliyun.OSS.Common.Communication.ServiceClientNewImpl.SendCore(ServiceRequest request, ExecutionContext context) at Aliyun.OSS.Common.Communication.ServiceClient.Send(ServiceRequest request, ExecutionContext context) at Aliyun.OSS.Common.Communication.RetryableServiceClient.SendImpl(ServiceRequest request, ExecutionContext context, Int32 retryTimes) at Aliyun.OSS.Commands.OssCommand.Execute() at Aliyun.OSS.OssClient.PutObject(PutObjectRequest putObjectRequest)
FindSunny commented
我也遇到了相似的问题
System.AggregateException: One or more errors occurred. (An error occurred while sending the request.) ---> System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.IO.IOException: The response ended prematurely. at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken) --- End of inner exception stack trace --- at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.SendWithNtConnectionAuthAsync(HttpConnection connection, HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken) at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) at System.Net.Http.HttpClient.FinishSendAsyncUnbuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts) --- End of inner exception stack trace --- at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification) at Aliyun.OSS.Common.Communication.ServiceClientNewImpl.SendCore(ServiceRequest request, ExecutionContext context) at Aliyun.OSS.Common.Communication.ServiceClient.Send(ServiceRequest request, ExecutionContext context) at Aliyun.OSS.Common.Communication.RetryableServiceClient.SendImpl(ServiceRequest request, ExecutionContext context, Int32 retryTimes) at Aliyun.OSS.Commands.OssCommand.Execute() at Aliyun.OSS.OssClient.PutObject(PutObjectRequest putObjectRequest)
conf.UseNewServiceClient = false; conf.PreReadBufferCount = 4096;