草庐IT

performers

全部标签

performance - Google QUIC 的性能是否比 TCP 好得多?

GoogleQUIC是一种新的传输协议(protocol)。它使用UDP并提供了一组非常好的功能:它不需要初始握手(0次往返)它在设计上具有安全功能(TLS和TCP的组合)它带来了流的概念,这对于避免线头问题非常有用,非常适合HTTP2(https://community.akamai.com/community/web-performance/blog/2017/08/10/how-does-http2-solve-the-head-of-line-blocking-hol-issue)拥塞控制算法在用户空间,很容易被替换在他们的SIGCOMM17出版物中,他们讨论了QUIC的一些性

performance - HTTP 代理使用的协议(protocol)是否减少了客户端协商的连接数?

当使用HTTP代理服务器时,与客户端直接连接各种http站点(不使用代理)相比,客户端和代理之间协商的连接数是否减少了?例如,当直接连接到两个不同的域时,显然至少要建立两个连接。在代理的情况下,客户端是否通常对两个“连接”使用一个到代理的连接?类似地,是否存在连接到单个域但访问多个资源的客户端会发现使用代理的连接数量减少的情况?例如,即使最终目的地不支持,代理能否提供HTTP/1.1样式的持久连接?代理是否能够使用更长的持久连接超时时间? 最佳答案 Inthecaseofaproxy,doestheclientusuallyusea

performance - TCP 数据包大小会影响下载速率吗?

我有一个正在处理的项目,我必须通过网络连接发送大量二进制数据,并且由于各种限制,使用TCP包装器是最简单的方法。简而言之,我的意思是我手动管理数据包(和二进制数据)。不过,我的问题很简单:数据包大小会影响数据传输速率吗?数据包和缓冲区的大小会改变内存使用情况,我明白这一点,但它在网络上传输的实际速率又如何呢?我的意思是,更大的数据包意味着更少的数据包,这样会加快速度,但我想更大的数据包也会传输得更慢……它们是否相互抵消,这无关紧要,或者一个变化大于另一个变化它确实有所作为吗?朝哪个方向?我觉得我还应该指出,我也直接从文件流中读取数据(一次一个数据包,以提高内存效率)并将二进制数据直接传

performance - TCP 最大吞吐量和浏览器

理论上,最大tcp速度是min{rwnd,cwnd}/RTT,其中cwnd是拥塞窗口大小,rwnd是接收窗口大小。假设cwnd足够大,那么它就是rwnd/RTT。现在,如果最大窗口大小为65Kbytes,我得到(使用来自某些站点的这些计算):RTT10ms=>TCPthroughput=52428000bps=52MbpsRTT20ms=>TCPthroughput=26214000bps=26MbpsRTT50ms=>TCPthroughput=10485600bps=10MbpsRTT100ms=>TCPthroughput=5242800bps=5.2MbpsRTT150ms=>

performance - 本地 IPC 的平均性能测量

我们现在正在为我们当前的项目评估不同的IPC(或更确切地说是RPC)方法,该项目还处于早期阶段。性能很重要,因此我们正在进行一些测量以帮助我们做出选择。我们将进行通信的进程将驻留在同一台机器上。一个单独的有效选项是完全避免IPC(通过将一个进程的功能封装在.NETDLL中并让另一个进程使用它),但这是我们真正想避免的选项,因为这些两个软件是由两个独立的公司开发的,我们发现维护良好的“栅栏”非常重要,它可以成为好邻居。我们的测试包括使用每种方法跨进程边界传递消息(其中包含各种大小的BLOB)。这些是我们得到的数字(性能范围与消息大小范围相关):网络服务(基于HTTP的SOAP):25-3

performance - 如何在不嗅探的情况下测量 TCP/IP 开销?

我想知道是否有一种编程方式来衡量通过TCP流发送数据时使用的全部带宽。因为我似乎不知道网络堆栈如何将流分成数据包,或者它何时发送TCPSYN或ACK或它在后台为您做的许多事情,所以我只能对此进行粗略估计。我能想到的唯一解决方案是实际嗅探界面,但我想堆栈已经可以为我收集这些统计信息。它在Windows或Linux下以Java运行(当然,首选可移植解决方案),但我可以JNI化C/C++答案,这样(和操作系统API调用)也是一个很好的答案。谢谢! 最佳答案 [Windows特定答案]在Windows上,您可以考虑查看ETW(Windows

performance - 在用户空间与内核空间中实现协议(protocol) - 性能影响

我正在寻找一些关于将协议(protocol)实现(例如TCP/IP堆栈)从内核空间移动到用户空间的影响的文章/论文。它显然会产生影响,但影响有多大?或者有任何关于上下文切换成本的文献。我意识到可能没有准确的答案,因为这取决于应用程序。因此,假设它是一个网络堆栈,如果任何人都可以提供一些输入,那就太好了。我用谷歌搜索但找不到任何好的东西,除了这个UserspaceVsKernelspaceprogramperformancedifference但这并没有提供足够的光线。 最佳答案 据我所知,您可以看到文件系统比较-有许多不同的实现,如

performance - 衡量网络浏览器的带宽

是否可以通过监控正常的http请求来衡量网络浏览器的上传和/或下载速度?理想情况下,Web应用程序无需任何修改,也无需像JavaScript/Java/Flash这样的客户端脚本,就能够知道客户端的速度。因此,即使客户端使用像Curl这样的库访问服务,它仍然可以工作。如果这是可能的,怎么办?如果不可能,为什么?这种方法的准确性如何?(如果它有助于假设PHP/Apache,但实际上这是一个独立于平台的问题。而且能够衡量上传速度对我来说更重要。) 最佳答案 概览您要求的是沿路径进行通常称为“被动”可用带宽(ABW)的测量(相对于测量单个

ios - 针对特定集合的多对多关系核心数据查询

publicenumAbility:String{casenewcomer="Newcomer"casebeginner="Beginner"caseintermediate="Intermediate"caseadvanced="Advanced"}publicenumGroup:String{casesolo="Solo"caseduo="Duo"caseteam="Team"}我想找到符合以下条件的所有性能。ability=="Beginner"group=="Duo"performers=="JaneDavies"&&"AliceEvans"Thedocumentation表明

swift - Firebase Performance 无法启动跟踪,因为它已经启动和停止

我正在尝试使用以下代码创建一个非常简单的Firebase性能跟踪:lettrace=Performance.startTrace(name:"setup")setup()trace?.stop()我希望此跟踪所做的只是跟踪setup()函数运行的时间。它似乎是第一次工作,但在那之后,我将这条消息打印到控制台:[Firebase/Performance]Failedtostarttracesetupbecauseithasalreadybeenstartedandstopped.这个警告值得关注吗?如果是这样,我做错了什么导致了这个警告? 最佳答案