Azure存储压力测试失败

huangapple 未分类评论47阅读模式
英文:

Azure storage stress test fails

问题

我正在尝试使用版本为12.4.0的Azure存储客户端在我的Spring Boot应用程序上上传大约5MB大小的250个文件。在使用JMeter执行此上传后,我收到错误,然后等待几分钟后,大多数文件都已上传,但一些文件上传失败并显示错误。我已经在下面添加了所有的日志和代码。

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-storage-blob</artifactId>
    <version>12.4.0</version>
</dependency>

客户端代码

public class AzureStorageClient implements StorageClient {
    // ... (代码部分已省略)
}

上传后的错误日志:

2020-04-06 21:55:00.374  WARN 1700 --- [ctor-http-nio-3] r.netty.http.client.HttpClientConnect    : [id: 0x441e3068, L:/192.168.0.11:55049 - R:somestorageaccount.blob.core.windows.net/11.11.111.11:443] 连接遇到错误
javax.net.ssl.SSLException: 握手超时
    // ... (错误信息部分已省略)

一段时间后,部分文件上传完成:

2020-04-06 21:58:38.989  INFO 1700 --- [io-8080-exec-34] c.c.f.cloud.AzureStorageClient           : 完成:文件 40fcbd8fc41b447f91fc9e01c11a79fb,原始名称 oswietlenie.pdf
2020-04-06 21:58:51.835  WARN 1700 --- [ctor-http-nio-8] r.netty.http.client.HttpClientConnect    : [id: 0xfc719110, L:0.0.0.0/0.0.0.0:55102] 连接遇到错误
reactor.netty.http.client.PrematureCloseException: 在发送请求体时,连接在响应之前已被关闭
    // ... (错误信息部分已省略)
2020-04-06 21:58:56.033  WARN 1700 --- [tor-http-nio-12] r.netty.http.client.HttpClientConnect    : [id: 0x870e83db, L:0.0.0.0/0.0.0.0:55082] 连接遇到错误
reactor.netty.http.client.PrematureCloseException: 在发送请求体时,连接在响应之前已被关闭
    // ... (错误信息部分已省略)
2020-04-06 21:59:00.580  INFO 1700 --- [io-8080-exec-62] c.c.f.cloud.AzureStorageClient           : 完成:文件 b007415bfd114a15b9fcbd3591f0b35a,原始名称 oswietlenie.pdf

注意: 以上是您提供的内容的翻译,仅包括代码和日志的相关部分。

英文:

I'm trying to upload 250 files which size is approximately 5mb using my Azure Storage Client in version 12.4.0 on my Spring Boot app. Right after performing this upload with JMeter I receive the error, then waiting a few minutes most of the files are uploaded, some fail with error. I've added all logs and code below.

&lt;dependency&gt;
    &lt;groupId&gt;com.azure&lt;/groupId&gt;
    &lt;artifactId&gt;azure-storage-blob&lt;/artifactId&gt;
    &lt;version&gt;12.4.0&lt;/version&gt;
&lt;/dependency&gt;

Client Code

public class AzureStorageClient implements StorageClient {

    private final Logger LOGGER = LoggerFactory.getLogger(AzureStorageClient.class);

    private final BlobContainerClient containerClient;

    public AzureStorageClient(final AzureStorageServiceProvider provider, String storageContainer) {
        var serviceClient = provider.createServiceClient();
        this.containerClient = serviceClient.getBlobContainerClient(storageContainer);
        if (!this.containerClient.exists()) {
            throw new StorageClientInitException(&quot;No container exists with name &quot; + storageContainer);
        }
    }

    @Override
    public void store(final String blobPath, final String originalFileName, final byte[] bytes) {
        final BlobClient blobClient = containerClient.getBlobClient(blobPath);
        final BlockBlobClient blockBlobClient = blobClient.getBlockBlobClient();
        try (ByteArrayInputStream inputStream = new ByteArrayInputStream(bytes)) {
            LOGGER.info(&quot;Started: upload file {} with original name {}&quot;, blobPath, originalFileName);
            blockBlobClient.upload(inputStream, bytes.length, true);
            LOGGER.info(&quot;Finished: file {} with original name {}&quot;, blobPath, originalFileName);
        } catch (BlobStorageException | IOException exc) {
            throw new StorageException(exc);
        }
    }
}

Errors Right After Upload:

2020-04-06 21:55:00.374  WARN 1700 --- [ctor-http-nio-3] r.netty.http.client.HttpClientConnect    : [id: 0x441e3068, L:/192.168.0.11:55049 - R:somestorageaccount.blob.core.windows.net/11.11.111.11:443] The connection observed an error

javax.net.ssl.SSLException: handshake timed out
	at io.netty.handler.ssl.SslHandler$5.run(SslHandler.java:2001) ~[netty-handler-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:170) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) ~[netty-transport-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]

2020-04-06 21:55:01.717  WARN 1700 --- [ctor-http-nio-3] r.netty.http.client.HttpClientConnect    : [id: 0x16c7448d, L:/192.168.0.11:55085 - R:somestorageaccount.blob.core.windows.net/11.11.111.11:443] The connection observed an error

javax.net.ssl.SSLException: handshake timed out
	at io.netty.handler.ssl.SslHandler$5.run(SslHandler.java:2001) ~[netty-handler-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:170) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) ~[netty-transport-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]

2020-04-06 21:55:03.028  WARN 1700 --- [ctor-http-nio-6] r.netty.http.client.HttpClientConnect    : [id: 0x13bee15d, L:/192.168.0.11:55064 - R:somestorageaccount.blob.core.windows.net/11.11.111.11:443] The connection observed an error

javax.net.ssl.SSLException: handshake timed out
	at io.netty.handler.ssl.SslHandler$5.run(SslHandler.java:2001) ~[netty-handler-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:170) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) ~[netty-transport-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]

2020-04-06 21:55:03.957  WARN 1700 --- [tor-http-nio-12] r.netty.http.client.HttpClientConnect    : [id: 0x196d50c9, L:/192.168.0.11:55118 - R:somestorageaccount.blob.core.windows.net/11.11.111.11:443] The connection observed an error

javax.net.ssl.SSLException: handshake timed out
	at io.netty.handler.ssl.SslHandler$5.run(SslHandler.java:2001) ~[netty-handler-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:170) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) ~[netty-transport-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.45.Final.jar:4.1.45.Final]
	at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]

2020-04-06 21:55:13.369  WARN 1700 --- [ctor-http-nio-8] r.netty.http.client.HttpClientConnect    : [id: 0x5a704036, L:0.0.0.0/0.0.0.0:55054] The connection observed an error

reactor.netty.http.client.PrematureCloseException: Connection has been closed BEFORE response, while sending request body

After some time files are uploaded, but not all:

020-04-06 21:58:38.989  INFO 1700 --- [io-8080-exec-34] c.c.f.cloud.AzureStorageClient           : Finished: file 40fcbd8fc41b447f91fc9e01c11a79fb with original name oswietlenie.pdf
2020-04-06 21:58:51.835  WARN 1700 --- [ctor-http-nio-8] r.netty.http.client.HttpClientConnect    : [id: 0xfc719110, L:0.0.0.0/0.0.0.0:55102] The connection observed an error

reactor.netty.http.client.PrematureCloseException: Connection has been closed BEFORE response, while sending request body

2020-04-06 21:58:56.033  WARN 1700 --- [tor-http-nio-12] r.netty.http.client.HttpClientConnect    : [id: 0x870e83db, L:0.0.0.0/0.0.0.0:55082] The connection observed an error

reactor.netty.http.client.PrematureCloseException: Connection has been closed BEFORE response, while sending request body

2020-04-06 21:59:00.580  INFO 1700 --- [io-8080-exec-62] c.c.f.cloud.AzureStorageClient           : Finished: file b007415bfd114a15b9fcbd3591f0b35a with original name oswietlenie.pdf

huangapple
  • 本文由 发表于 2020年4月7日 04:07:32
  • 转载请务必保留本文链接:https://java.coder-hub.com/61068101.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定