- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个问题,即在负载测试期间,如果我们在我们的一项服务上快速触发调用,我们会收到错误
“System.ServiceModel.ServerTooBusyException:创建可靠 session 的请求已被 RM 目标拒绝。服务器 'net.tcp://localhost:10511/ParameterMonitorService' 太忙,无法处理此请求。稍后再试. channel 打不开。”
我们将 maxPendingChannels 的值从其默认值 4 增加到 128 甚至更高,错误消失了,但是现在,服务不会抛出异常,而是会在负载下停止处理消息,然后在几分钟后重新开始.
好像什么都没掉,只是挂了一会儿。我们对服务的冲击越大,恢复所需的时间就越长。
该服务配置为 Per-Call with ConcurrencyMode Multiple。其他行为设置是:
<serviceThrottling maxConcurrentCalls="100" maxConcurrentSessions="100" maxConcurrentInstances="100"/>
<customBinding>
<binding name="Services_Custom_Binding" openTimeout="00:00:20" sendTimeout="00:01:00">
<reliableSession ordered="true" inactivityTimeout="00:10:00" maxPendingChannels="128" flowControlEnabled="true" />
<binaryMessageEncoding>
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</binaryMessageEncoding>
<tcpTransport maxPendingConnections="100" listenBacklog="100" />
</binding>
</customBinding>
我们有点卡住了。任何帮助表示赞赏!
最佳答案
这是一个经典的性能调优故事。通过重新配置可靠 session 的限制,您已经消除了系统中曾经的瓶颈,并将瓶颈转移到系统中的其他地方。
你真的不能指望人们凭空诊断出现在的瓶颈在哪里,而没有任何关于你的服务是如何托管的,在什么硬件上,它在做什么,或者它是如何做的细节它。您需要尽可能全面地检测您的系统,使用 Windows 性能监视器计数器,并解释这些计数器以了解系统中现在发生资源争用的位置。
我的第一个猜测是移除 session 限制后增加的并发性导致了对托管线程池线程的争用,但这只是一个猜测——你真的想根据证据而不是猜测来进行诊断。
关于WCF 可靠消息传递 : stuttering service after maxPendingChannels increase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5073512/
情况 我正在尝试熟悉 Java 中的线程。出于这个原因,我修改了我在一本书中找到的程序列表。所做的事情非常简单: 它创建一个包含 100.000.000 个元素的 boolean[] 数组。 它使用
我正在使用 Zurb Foundation 使用以下代码制作导航栏:
Write a program that reads a sequence of integers and print 'increasing' if each subsequent number i
我有比特币源代码(多线程),我打算添加一些新行。在比特币网络上,数据消息在数据存储在 vector 中的地方交换。我想在 vector 大小增加时执行一些指令: 如何在 C++ 中编写以下模式以便在
We are given a network flow, as well as a max flow in the network. An edge would be called increasin
我想增加 Line2D 的宽度。我找不到任何方法来做到这一点。我是否需要为此实际制作一个小矩形? 最佳答案 您应该使用 setStroke 来设置 Graphics2D 对象的笔画。 http://w
题目地址:https://leetcode.com/problems/increasing-triplet-subsequence/description/ 题目描述: Given an unso
题目地址:https://leetcode.com/problems/longest-increasing-subsequence/description/ 题目描述 Given an unsor
题目地址:https://leetcode.com/problems/monotone-increasing-digits/description/ 题目描述: Given a non-negat
我已经从头开始实现逻辑回归,但是当我运行脚本时,算法总是预测错误的标签。我尝试通过将所有 1 切换为 0 来更改训练输出和 test_output,反之亦然,但它总是预测错误的标签。 我还注意到,将“
我正在尝试增加kivyMD 按钮 的宽度 和高度,但它不受支持(size_hint)。 •我应该创建自己的继承自 Button 类的按钮类吗? •考虑到我希望我的应用程序在 Android 上运行,这
ArrayList tempArray = new ArrayList<>(size); 我正在为我的合并排序构建一个 tempArray,它将根据上下文对整数或字符串进行排序。因此类型为 T Arr
我正在尝试创建大约200万条记录的Lucene。索引时间约为9小时。 您能否建议如何提高性能? 最佳答案 我写了一篇关于如何并行化Lucene索引的可怕文章。它确实写得很糟糕,但是您会发现它是here
我需要你的帮助来解决这个问题 这是我的 ulimit -a 的结果在我的 linux 服务器上 core file size (blocks, -c) 0 scheduling
我想了解: 与完全虚拟化或硬件辅助虚拟化(如 virtio_net 或 virtio_blk)相比,virtio 驱动程序如何提高性能? 这些 virtio 驱动程序如何影响 VMEXIT/VMENT
我正在使用 rose2.m 生成许多角度直方图。我希望显示每个箱子中元素数量的比例范围在 0-50 之间,对于所有地 block 以 10 为增量增加,即使特定地 block 上的最大元素数量小于 5
我正在为我使用远程音频单元的 iPhone 构建一个录音应用程序。在对传入缓冲区执行一些音频分析后,我使用以下方法将缓冲区写入磁盘: ExtAudioFileWriteAsync 但是,我遇到的问题是
您好,我正在解析 xml 文件,我正在返回 Objects 类的 ArrayList,但是对于此方法的每次调用,ArrayList 的大小为从 0-8 和 8 增加到 16 和 24...而不是创建一
在一些 Django 测试中,我有循环来测试很多东西。 在最终结果中它显示为: Ran 1 test in 3.456s 我想为每个循环增加该计数器,我该怎么做? 它正在使用 subTest() ,但
我正在努力解决这个指针算术: int x; int *y = &x; ++y; y 增加了多少? 我知道:“&”是引用运算符,可以读作“address of”。“*”是解引用运算符,可以读作“指向的值
我是一名优秀的程序员,十分优秀!