Questions tagged «multi-threading»

1
任务集无法在Isolcpus中的一系列内核上工作
首先,我在AMD64芯片组上将Debian Wheezy与内核3.2一起使用。我的机器有两个Xeon E5-2690内核。我设置了引导参数,以便一个CPU上的所有内核都专用于一个进程。为此,我在grub中设置了isolcpus = 8,9,10,11,12,13,14,15。 到目前为止,一切都很好。现在让我们说我想对给定的命令使用隔离的CPU,为简单起见,我将使用一个简单的无限循环: $ taskset -c 8-15 bash -c'while true; 回声你好> / dev / null; 完成了& 到目前为止,到目前为止,顶部显示核心8的旋转利用率接近100%。现在,假设我再次启动该命令: $ taskset -c 8-15 bash -c'while true; 回声你好> / dev / null; 完成了& 现在top显示内核9-15保持空闲,并且两个进程共享内核8。如果相反,我这样做: $ taskset -c 8 bash -c'while true; 回声你好> / dev / null; 完成了& $ taskset -c …

1
为什么我们的响应时间突然激增?
我们有一个使用IIS托管的ServiceStack来实现的API。在执行API的负载测试时,我们发现响应时间不错,但是一旦我们达到每台服务器约3500个并发用户,响应时间就会迅速恶化。我们有两台服务器,当有7,000个用户访问时,所有端点的平均响应时间都在500毫秒以下。这些盒子位于负载均衡器的后面,因此每台服务器可获得3500个并发。但是,一旦我们增加了并发用户总数,响应时间就会大大增加。将并发用户增加到每台服务器5,000,可以使我们每个端点的平均响应时间约为7秒。 服务器上的内存和CPU都非常低,而响应时间很好,而且响应时间变慢了。在有10,000个并发用户的高峰时,CPU平均不到50%,而RAM位于16中的3-4 GB左右。这使我们认为我们正在达到某种极限。下面的屏幕快照显示了在负载测试过程中,总共有10,000个并发用户的perfmon中的一些关键计数器。高亮显示的计数器是请求/秒。在屏幕截图的右边,您可以看到每秒请求的数量变得非常不稳定。这是响应时间慢的主要指标。一看到这种模式,我们就会注意到负载测试中的响应时间很慢。 我们如何解决此性能问题?我们正在尝试确定这是编码问题还是配置问题。web.config或IIS中是否有任何设置可以解释此行为?应用程序池正在运行.NET v4.0,IIS版本为7.5。我们对默认设置所做的唯一更改是将应用程序池“ 队列长度”值从1,000更新为5,000。我们还向Aspnet.config文件中添加了以下配置设置: <system.web> <applicationPool maxConcurrentRequestsPerCPU="5000" maxConcurrentThreadsPerCPU="0" requestQueueLimit="5000" /> </system.web> 更多细节: API的目的是合并来自各种外部源的数据并以JSON形式返回。当前,它使用InMemory缓存实现在数据层缓存单个外部调用。对资源的第一个请求将获取所有必需的数据,对同一资源的任何后续请求将从缓存中获取结果。我们有一个“缓存运行器”,它被实现为后台进程,该进程以一定的设置间隔更新缓存中的信息。我们在从外部资源中获取数据的代码周围添加了锁定。我们还实现了以异步方式从外部源获取数据的服务,因此,端点的速度应仅与最慢的外部调用一样慢(当然,除非缓存中有数据)。这是使用System.Threading.Tasks.Task类完成的。我们可以在进程可用线程数方面达到限制吗?

5
同时运行多个scp线程
同时运行多个scp线程: 背景: 我经常发现自己经常镜像一组服务器文件,并且这些服务器文件中包含数千个小的1kb-3kb文件。所有服务器都连接到1Gbps端口,该端口通常分布在各种数据中心中。 问题: SCP一次又一次地传输这些小文件,这需要花很多时间,我感觉自己是在浪费我拥有的美丽网络资源。 解?: 我有个主意 创建一个脚本,该脚本将文件分成相等的数量,并启动5-6个scp线程,从理论上讲,它将完成5-6倍,不是吗?但是我没有任何Linux脚本编写经验! 问题: 对于上述问题是否有更好的解决方案? 是否已经存在类似的东西? 如果没有,是否有人会帮助我或帮助我? 如果不是2或3,那么哪里是开始学习Linux脚本的好地方?像bash或其他。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.