标签: throughput

使用HornetQ核心桥的低吞吐量

我们正在尝试使用HornetQ存储和转发机制......但是使用核心网桥将消息从一个独立的HornetQ实例转发到另一个实例非常慢.我们无法将吞吐率提高到每秒200条以上.

令人惊讶的事实是,如果我们直接在目的地HornetQ实例指向同一客户端(即向转发HornetQ实例发布消息),我们开始观察每秒超过1000条消息的吞吐率(此客户端是基于JMS的).这基本上意味着在Forwarding HornetQ实例和Destination HornetQ实例之间配置的核心桥是有问题的.

以下是在Forwarding HornetQ上配置核心桥的相关章节:

<connectors>
            <connector name="netty-bridge">
                 <factory-class>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory</factory-class>
                 <param key="host" value="destination.xxx.com"/>
                 <param key="port" value="5445"/>
                 <param key="batch-delay" value="50"/>
                 <param key="tcp-send-buffer-size" value="1048576"/>
                 <param key="tcp-receive-buffer-size" value="1048576"/>
                 <param key="use-nio" value="true"/>
           </connector>
</connectors>
<address-settings>
      <address-setting match="jms.queue.Record">
                <dead-letter-address>jms.queue.RecordDLQ</dead-letter-address>
                <max-size-bytes>262144000</max-size-bytes>
                <page-size-bytes>10485760</page-size-bytes>
                <address-full-policy>PAGE</address-full-policy>
        </address-setting>
</address-settings>
<queues>
         <queue name="jms.queue.Record">
                  <address>jms.queue.Record</address>
         </queue>
</queues>
<bridges>
        <bridge name="core-bridge">
                <queue-name>jms.queue.Record</queue-name>
                <forwarding-address>jms.queue.Record</forwarding-address>
                <retry-interval>1000</retry-interval>
                <retry-interval-multiplier>1.0</retry-interval-multiplier>
                <reconnect-attempts>-1</reconnect-attempts>
                <confirmation-window-size>10485760</confirmation-window-size>
                <static-connectors>
                        <connector-ref>netty-bridge</connector-ref>
                </static-connectors>
        </bridge>
</bridges>
Run Code Online (Sandbox Code Playgroud)

以下是在Destination HornetQ上配置核心桥的相关章节:

<acceptors>
      <acceptor name="netty">
        <factory-class>org.hornetq.core.remoting.impl.netty.NettyAcceptorFactory</factory-class>
         <param key="host"  value="${hornetq.remoting.netty.host:192.168.2.xxx}"/>
         <param key="port"  value="${hornetq.remoting.netty.port:xxxx}"/>
         <param key="tcp-send-buffer-size"  value="1048576"/>
         <param key="tcp-receive-buffer-size"  value="1048576"/>
         <param key="use-nio"  value="true"/> …
Run Code Online (Sandbox Code Playgroud)

messaging core throughput hornetq

6
推荐指数
1
解决办法
1974
查看次数

Java NIO是否适合低延迟或高吞吐量?

我是Java NIO的新手并且已经使用了一点.我有一个通用的查询.如果您正在设计一个超低延迟应用程序与高吞吐量应用程序,那么这两个应用程序中的哪一个明显受益于使用非阻塞IO?

我的理解是非阻塞IO当然应该有助于高吞吐量,因为工作线程没有阻塞,因此不等待响应,并且可以自由地发送新请求,直到之前的请求被提供.一旦我们获得先前激活的请求的响应,工作线程就可以异步处理它们,从而提高吞吐量.

但是,我无法看到非阻塞IO如何直接使低延迟应用程序受益.

我猜"异步行为是避免争用的好方法." 如果是这种情况,低争用意味着低延迟.因此,NIO可能有助于降低延迟.是否有意义?

java nio nonblocking throughput low-latency

6
推荐指数
1
解决办法
1543
查看次数

卡夫卡内存要求

我是卡夫卡的初学者

我们正在寻找调整我们的kafka集群(5节点集群)的大小,以处理17,000个事件/秒,每个事件大小为600字节.我们计划复制3次并保留一周的事件

我在kafka文档页面中读到了

    assuming you want to be able to buffer for 30 seconds and 
compute your memory need as write_throughput*30.
Run Code Online (Sandbox Code Playgroud)

那么整篇文章到底是什么?如果它是每秒MB的数量 - 我看9960MB /秒

if consider that as my write throughput then the memory calculates as 292GB(9960MB/Sec * 30 )
Run Code Online (Sandbox Code Playgroud)

那么什么是292GB代表一个节点或整个集群的内存需求(5个节点)

我真的很感激有关内存和磁盘大小的一些见解.

关心VB

memory hadoop diskspace throughput apache-kafka

6
推荐指数
1
解决办法
8058
查看次数

服务器吞吐量是什么意思

如果吞吐量增加,响应和请求时间将如何改变?如果我有数据(请求/分钟)?

throughput

5
推荐指数
1
解决办法
8258
查看次数

提高ejabberd-2.1.10的消息吞吐量

我在我的机器上安装了二进制安装程序的ejbberd-2.1.10(Win7 32bit 2.93GHz Core2Duo 3GB RAM).由于我们的设置需要非常高的消息吞吐量,因此我查看了 性能调优参考,并在我的ejabberd.cfg和ejabberdctl.cfg文件中进行了更改.

{整形器,正常,{MAXRATE,千万}}
ERL_MAX_PORTS = 65536
ERL_PROCESSES = 250000
ERL_MAX_ETS_TABLES = 20000

现在,当clientA向clientB发送消息时,每条消息包含10条消息,每条消息为1500字节

所用时间如下
1)使用默认值-14.3秒
2)使用上面给出的覆盖值 - 1.70283秒

这仍然不符合性能要求.谁能帮助我如何进一步推动这个限制??? 我错过了什么或设置了错误的值.对此的任何帮助都会非常棒.

谢谢

performance xmpp mnesia ejabberd throughput

5
推荐指数
1
解决办法
2290
查看次数

RestSharp:底层连接已关闭:服务器关闭了预期保持活动状态的连接

我使用 RestSharp 作为底层 HTTP 客户端库,在黑盒服务上制作压力/吞吐量测试客户端。线程池和服务点连接限制已提高到 5000,但这应该不用担心,因为我们每秒测试大约 500-1000 个请求。高分辨率(微秒)计时器组件用于以我们想要测试的速率抛出请求。

RestSharp 代码大致如下

restClient.ExecuteAsync(postRequest, res =>
                {
                    stopwatch.Stop();

                    lock (this.countLocker)
                    {
                        this.roundTrips.Add(stopwatch.ElapsedMilliseconds);

                        if (res.ResponseStatus == ResponseStatus.Completed &&
                            (res.StatusCode == HttpStatusCode.OK ||
                            res.StatusCode == HttpStatusCode.NoContent))
                        {
                            this.responseCount++;
                        }
                        else
                        {
                            // Treat all other status codes as errors.
                            this.reportError(res);
                        }
                    }
                });
Run Code Online (Sandbox Code Playgroud)

在发送过多请求时,我们会观察到服务会在一段时间后溢出一些错误 503 响应,但 RestSharp 将这些响应视为完整响应,因为这是来自服务器的有效响应;没有抛出实际的异常。

不清楚的是,当 RestSharp 由于底层连接错误而遇到异常时

The underlying connection was closed: A connection that was expected to be kept alive was closed by the server.
at RestSharp.Http.GetRawResponseAsync(IAsyncResult result, Action`1 callback) …
Run Code Online (Sandbox Code Playgroud)

keep-alive throughput restsharp

5
推荐指数
1
解决办法
8531
查看次数

对于Intel Haswell上的XMM/YMM FP操作,可以使用FMA代替ADD吗?

这个问题适用于Haswell上带有XMM/YMM寄存器的压缩单预备浮点运算.

因此,根据Agner Fog 提供的令人敬畏的,令人敬畏的 ,我知道MUL可以在端口p0和p1上完成(recp thruput为0.5),而只有ADD只在端口p1上完成(recp thruput为1) ).我可以除了这个限制,但我也知道FMA可以在端口p0或p1上完成(recp吞吐量为0.5).因此,当我的FMA可以使用p0或p1并同时执行ADD和MUL时,为什么普通ADD仅限于p1是令人困惑的.我误解了桌子吗?或者有人可以解释为什么会这样?

也就是说,如果我的读数是正确的,为什么英特尔不会仅使用FMA op作为普通MUL和普通ADD的基础,从而增加ADD和MUL的吞吐量.或者,什么会阻止我使用两个同时独立的FMA操作来模拟两个同时独立的ADD操作?做ADD-by-FMA有哪些处罚?显然,使用的寄存器数量更多(ADD为2 reg,而FMA为ADD为3 reg),但除此之外?

sse avx flops throughput fma

5
推荐指数
1
解决办法
227
查看次数

AmazonDB Free Tier是什么意思?

在我的Android应用程序中,我使用Amazon DynamoDB.我创建了10个表,其中包含读取容量10和写入容量5.今天我收到了来自亚马逊的电子邮件.它花了我11.36美元.

DynamoDB成本

我不明白免费等级的含义.以下是我从亚马逊上读到的内容:

DynamoDB客户可获得25 GB的免费存储空间,以及最多25个写入容量单元和25个读取容量单位的持续吞吐量容量(足够的吞吐量以处理每月多达2亿个请求)和250万个来自DynamoDB Streams的读取请求.

请更清楚地告诉我有关免费等级的含义:25个读取和25个写入容量单位!

capacity throughput quote amazon-dynamodb

5
推荐指数
1
解决办法
1601
查看次数

通过链式操作快速降低流吞吐量?

我期望简单的中间流操作,例如limit(),开销很小.但这些示例之间的吞吐量差异实际上很重要:

final long MAX = 5_000_000_000L;

LongStream.rangeClosed(0, MAX)
          .count();
// throughput: 1.7 bn values/second


LongStream.rangeClosed(0, MAX)
          .limit(MAX)
          .count();
// throughput: 780m values/second

LongStream.rangeClosed(0, MAX)
          .limit(MAX)
          .limit(MAX)
          .count();
// throughput: 130m values/second

LongStream.rangeClosed(0, MAX)
          .limit(MAX)
          .limit(MAX)
          .limit(MAX)
          .count();
// throughput: 65m values/second
Run Code Online (Sandbox Code Playgroud)

我很好奇:快速降低吞吐量的原因是什么?它是链式流操作或我的测试设置的一致模式吗?(到目前为止我没有使用JMH,只是用秒表设置快速实验)

java throughput java-stream

5
推荐指数
1
解决办法
69
查看次数

EFS 非常慢 - 吞吐量利用率达到 100%

我有一个安装到文件系统的 EFS。最近,我的突发信用开始下降,直到达到 0,因此每当使用 efs 时,吞吐量利用率就会达到最大值(100%)。这使得 EFS 超级慢并且几乎无法访问。该问题的解决方案是将吞吐量模式从突发更改为弹性。因此,虽然眼前的问题已经解决,但我们仍然需要知道安装到此 EFS 的哪些消费者消耗了这么多吞吐量,但我找不到任何相关指标来显示客户端的吞吐量消耗。实际上我没有找到任何可以显示 EFS 用户是谁的指标。

我花了很多时间试图寻求解决方案,看看每个消费者的消费情况是多少,但确实找不到答案。有谁知道如何了解安装到此 EFS 的客户端的消耗情况?

太感谢了!

amazon-web-services throughput amazon-efs

5
推荐指数
1
解决办法
1451
查看次数