有一个mod_perl写服务器端程序。 我只使用一个进程共享apache worker mpm内存和~60个线程。 我使用锁来临时保护对共享内存的访问,1.7s中只有0.1s被locking。 问题是我得到相同的速度10个连续请求相比,10个并发请求。 我的压力脚本激发了n个重要的URL处理请求,每个请求之间有0.1秒的延迟。 括号中的数字是请求号码。 perl stressTestServer.pl n=1 DONE ( 0 ) > 1.778257 sek perl stressTestServer.pl n=5 DONE ( 3 ) > 8.71926 sek DONE ( 0 ) > 8.85207 sek DONE ( 1 ) > 8.976061 sek DONE ( 4 ) > 9.119936 sek DONE ( 2 ) > 9.218552 […]
我已经在具有3个CPU核心的VDS上安装了Nginx + uWSGI + Django。 uWSGI为每个进程configuration6个进程和5个线程。 现在我想告诉uWSGI使用进程进行负载平衡,直到所有进程都忙碌,然后在需要时使用线程。 看来uWSGI更喜欢线程,我还没有find任何configuration选项来改变这种行为。 第一个进程占用了100%的CPU时间,第二个占用了大约20%,另外一个进程大部分都不使用。 我们的网站收到40 r / s。 实际上,即使有3个进程没有线程,通常是处理所有的请求。 但是由于诸如locking共享资源等各种原因,请求处理会不时挂起。在这种情况下,我们有-1个进程。 用户不喜欢等待,然后再次点击链接。 因此,所有进程都会挂起,所有用户都必须等待。 我会添加更多的线程,使服务器更健壮。 但问题可能是pythonGIL。 线程不会使用所有的CPU核心。 所以多个进程在负载平衡方面效果更好。 但是,如果locking共享资源和I / O等待延迟,线程可能会有很大的帮助。 一个进程可能会做很多工作,而其中一个线程被locking。 我不想减less时间限制,直到没有其他解决scheme。 理论上可以用线程来解决这个问题,我不想给用户显示错误信息,或者让他在每个请求中等待,直到没有其他select。
我有一个根目录(在NAS上),我需要备份到另一台服务器。 该目录的层次结构是几层深的,大部分数据由位于整个层次中不同位置的大约十几个目录中的极大文件集合组成。 如果我在父目录上执行rsync,我可以获得大约100MB / s的吞吐量。 我已经testing了在不同目录下手动运行多个rsync进程,并且可以获得更高的吞吐量(350-500MB / s)。 我从目标服务器运行rsync。 我已经实现了一个天真的解决scheme,它只是使用直接在父目录下的目录拆分rsyncs,但是它需要更多的目标,因为其中一些目录比其他目录包含更多的数据。 理想情况下,每个进程将负责同步大致相同数量的数据。 有没有办法使用rsync,以便将任务分成n个 rsync进程,每个进程都有(大致)相同数量的文件。
在具有超线程的英特尔i7四核处理器的服务器上运行计算密集型任务时,运行八个线程(八个虚拟内核)还是四个(四个物理内核)是理想select? 每个线程实现虚拟核心的100%一致利用率。
我有一个Java应用程序与多个线程启动,他们都共享一个单一的数据库连接在主函数中创build。 到目前为止,事情一直在顺利进行。 我担心将来会有什么问题像腐败等?
多个用户在60核心计算服务器(基于Linux / Ubuntu)上运行Java应用程序。 有不同的应用程序,其中大部分不是内部开发的。 尽pipe系统pipe理员认为给定用户的Java进程在任何特定时刻都可以使用10个内核,但她希望不要超过10个。 是否有任何Java或OSconfiguration可以用来防止进程无限制地获取计算资源?
最近,我们的Apache Web服务器每天给我们多次这个错误: [Tue Apr 06 01:07:10 2010] [error] Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting 我们将ThreadsPerChild设置从50提升到100,但是我们仍然得到错误。 我们的访问日志表明,这些错误甚至在高负载时也不会发生。 例如,这里是我们的访问日志摘录(IP地址和一些url被编辑为隐私)。 正如你所看到的,上述错误发生在1:07,导致错误的几分钟内只有less量的请求发生: 99.88.77.66 – – [06/Apr/2010:00:59:33 -0400] "GET /WebRepository/jquery/jquery-ui-1.7.1.custom/css/smoothness/images/ui-icons_222222_256x240.png HTTP/1.1" 304 – 99.88.77.66 – – [06/Apr/2010:00:59:34 -0400] "GET /WebRepository/jquery/jquery-ui-1.7.1.custom/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png HTTP/1.1" 200 111 99.88.77.66 – – [06/Apr/2010:00:59:34 -0400] "GET /WebRepository/jquery/jquery-ui-1.7.1.custom/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png HTTP/1.1" 200 111 […]
我想我从Linux内核中find了一些目前尚未实现的东西。 我需要一种方法来设置每个进程的最大线程数限制。 这可能吗?
Gentoo上的PHP支持threads USE标志。 据我所知,PHP不支持真正的线程; 我只知道使用pcntl_fork()分叉的能力,但是这个function是由pcntl USE标志提供的。 那么如果PHP不支持线程, threads USE标志究竟是什么? tl; dr – threads USE标志为Gentoo系统上的PHP提供什么服务?
我已经采购了HP DL360 G7二手。 我想知道这是否是在操作系统或硬件故障。 安装了2个Intel Xeon X5650 CPU,每个CPU都带有6个启用线程的内核。 逻辑会build议这会给我总共24个CPU线程,其中最高的CPU是23(从0开始)。 然而,/ proc / cpuinfo的输出显示了一个奇怪的结果,这是错误的: root@HP-DL360-1:~# cat /proc/cpuinfo | grep processor | wc -l 24 root@HP-DL360-1:~# cat /proc/cpuinfo | grep processor | tail -n 2 processor : 26 processor : 27 有线程24,25,26和27代替线程12,13,14,15。在正常情况下,我不会被这个困扰,只会继续使用正常的系统。 但是因为我打算使用这个系统进行虚拟化,Proxmox具有正确编号的CPU线程/内核是必要的。 如果这是一个硬件故障,我需要购买一个替代品。 如果这是操作系统或软件相关的提示如何解决将不胜感激。 编辑:iLO报告“确定”系统健康。