Articles of 高负载

Ubuntu 12.04 KVM主机高负载闲置Ubuntu的12.04客人

我坚持这一个。 在两台物理机器上安装Ubuntu 12.04 server 64bit。 机器是相同的,除了一个有8GB内存和有问题的机器有32GB内存,两台机器同时购买相同的规格。 Ubuntu在24小时前完全更新。 我通过SSH隧道上的X-windows使用virt-manager来pipe理虚拟机,服务器操作系统根本不运行X-windows会话。 构build并运行多个Ubuntu 12.04服务器64位虚拟机,每个虚拟机分配1GB RAM。 虚拟机的configuration基本都是一样的(原谅MAC地址等)。 8GB的机器有2xVM,32GB的机器有3个VM。 所有的虚拟机报告低负载(小于0.5,通常为0.01),并没有高度利用。 8GB主机服务器报告负载小于0.1,一般为0.01。 32GB主机服务器报告负载大于10.0持续。 同样,所有虚拟机都报告内部负载小于0.5。 最高的CPU是95%+空闲,0.0%等待。 关于为什么32GB机器具有高负载(同时主机空闲和来宾空闲),而同样configuration的8GB机器报告预期的低负载? 一台虚拟机启动时,32GB的负载变高,运行3台虚拟机不会使负载变高。 停止所有虚拟机会导致32GB的机器负载下降。 我无法弄清楚这一点。 我希望32GB的负载能够匹配8GB的负载。 更新#1:内森C top – 16:19:54 up 8 days, 6:01, 1 user, load average: 14.33, 18.23, 18.07 Tasks: 135 total, 1 running, 134 sleeping, 0 stopped, 0 zombie Cpu(s): 0.5%us, 0.4%sy, 0.0%ni, 98.9%id, 0.0%wa, […]

存储大量的照片(1.5亿),并提供给networking

对于一个实际的项目,我必须build立一个高可用的存储服务器,可以存储和发布(http)1.5亿张7种尺寸的照片,总计10亿5000万个文件。 对于每张照片,我们都需要总共200 KB的空间来存储它们共计28 TB的7种尺寸。 其实我有两个服务器(2个E5620,12GB内存,Raid控制器1GB NVcaching,2个160GB的磁盘操作系统),都有一个存储arrays(DAS)与12x3TB SAS磁盘。 我不确定我的计划设置是否是最好的解决scheme: 操作系统:RHEL 6 磁盘arrays:Raid 6,ext4 / rsync或gfs2 HTTP服务器:Apache Traffic Server 3或nginx 通过这种方式,服务器存储和发布照片。 对我有什么build议? 我可以根据需要添加更多的服务器。 什么文件系统是正确的路要走? Raid 6好吗?

针对高端数据库查询系统的编程语言和数据库build议(每天>五千万个查询)?

这些要求目前是粗略的,但会感谢任何见解。 我们正在研究如何构build一个能够每天处理50个数据库数百万个查询的系统 – 特别是从编程语言和数据库select 它不是一个典型的网站,而是一个通过互联网访问的API /数据库。 速度至关重要。 应用程序将主要接收这些input(每个大约几kb),并且必须通过数据库查找来解决每个input。 只有几kb将被返回。 服务器将通过https / ssl运行。 添加: *是的,还会有几千个插入。 没有洞察到,但可以说10-50,000 /天。 *也可能有更新,但不要使问题复杂化 *不,它不会在一天中平均分散。 典型的,在办公/醒来的时候,负载会更高? 也许遵循正常的曲线 – 还不知道。 *数据库大小将为15亿条目。 *客户端不会发送sql查询,而是一个数字来检索数据库条目。

非常高的负载,显然是由pdflush造成的

我有一台运行CentOS 5的服务器,它会周期性地(每天几次)有巨大的负载高峰,整个服务器将停下来。 几分钟后,负载将降低,一切恢复正常。 我怀疑它与I / O有关,也许是一个坏的磁盘,但由于磁盘使用硬件RAID,我不知道如何找出发生了什么问题(smartctl只是说“设备不支持SMART”)。 无论如何,我从top看到的是: top – 08:51:03 up 73 days, 7:45, 1 user, load average: 69.00, 58.31, 46.89 Tasks: 316 total, 2 running, 314 sleeping, 0 stopped, 0 zombie Cpu(s): 11.0%us, 1.3%sy, 0.0%ni, 15.2%id, 72.0%wa, 0.0%hi, 0.5%si, 0.0%st Mem: 8299364k total, 7998520k used, 300844k free, 15480k buffers Swap: 16779884k total, 4788k used, […]

在服务器过载时保留用于loginShell / Putty的内存(高负载)

我正在尝试改进我的故障转移策略。 除了添加DNS故障转移,我想确保我能够通过shelllogin 每当服务器超载,我无法login或至less需要20分钟 – 60分钟,直到我可以停止服务超载服务 当然,最好的策略是首先避免重载,但是知道是否有方法为shell或脚本保留资源 对于故障转移/紧急情况的任何build议表示赞赏 干杯

内核进程在高负载期间定期吃CPU

我运行了24个内核的生产Web服务器,其中工作是CPU和I / O密集型的,但主要是CPU。 当CPU总负载达到85%或更高时,我的脚本会延迟执行,以保持负载的可pipe理性。 因此,CPU从来没有比我的脚本知道它可以处理更大的压力。 现在,我的服务器一次最多可以容忍3小时以上的容量生产。 大部分时间工作顺利进行,但在此期间,CPU系统负载往往急剧增加。 这是由于内核进程“events / x”,“migration / x”和“ksoftirqd / x”,其中“x”是该进程的CPU编号。 我已经读过,这表明内核正在排队的任务挣扎,这是在压倒性的系统负载下发生的。 但是,正如我所提到的,我的CPU负载是主要瓶颈,为了避免这种问题,故意将其保持在85%左右。 CPU的这种内核使用大大降低了生产速度,只能延长排队的任务。 奇怪的是,大约30分钟后,系统负载将消失,内核进程减less到零CPU使用率,只是稍后再次开始占用CPU。 在这整个过程中,input到CPU的工作量没有变化,通常处理得很好。 但是,当这些内核进程启动时,它完全杀死了生产。 以下是其中一个事件中“top -u root”的输出。 用户CPU使用率为49%,因为系统使用率为40%。 通常这应该是用户〜85%,系统〜5%。 但是,没有iowait,系统的平均负载是24(24核心),这是正常的。 top – 13:10:49 up 44 days, 20:29, 1 user, load average: 22.87, 22.73, 21.36 Tasks: 622 total, 24 running, 585 sleeping, 0 stopped, 13 zombie Cpu(s): 49.4%us, 40.3%sy, 0.0%ni, […]

服务器负载高,没有使用CPU的进程?

我是pipe理服务器的新手,我遇到了困扰我的东西。 我收到来自VPS提供商的警告,通知我我的负载使用率非常高。 我之前没有遇到这个问题,所以我试图去研究它。 不幸的是,经过相当多的研究,我还没有弄清楚为什么会出现这种情况。 我相信服务器是OpenVZ,有足够的内存(2GB)和一个带SSD的体面处理器。 我已经closures了几乎所有我能想象到的可能是apache之外的问题。 我非常仔细地检查了我的top / htop输出,我无法检测到任何exception。 但注意平均负载。 这个CPU使用率应该在0左右,对吧? 我想知道是否可能与磁盘使用有关,但是因为这是OpenVZ显然我不能使用像atop这样的工具来确定有关磁盘活动的更多信息。 我怎样才能进一步debugging呢? 谢谢!

Linux负载平均值和可能的危险?

我有一个箱子是由我在办公室周围的一些部分构成的。 我用了一个旧的英特尔酷睿CPU(不core2)@ 2.0ghz与2个核心。 该机器运行的是Ubuntu 11.10 64位服务器版本,它是VMware的iSCSI目标。 这个盒子上还运行着ZFS,我正在使用Linux上的ZFS构build。 对我来说… 当我从旧的存储器复制到新的存储器(这个盒子)时,负载平均值在顶部拍摄。 我认为最高的是15.01 。 这对双核心来说不好吗? 一般来说不好吗? 双核的负载不应该低于2.0吗? 或者,只要它不能保持不变,就可以这样做。 由于服务器大部分空闲时的平均负载平均值大约为0.15 – > 0.30。 这对我来说更正常。 任何见解?

确定导致MySQL巨大负载的php脚本

我正在运营一个年轻的非营利组织,旨在提供免费和低成本的networking托pipe。 几天以来,我们的服务器负载在1.5左右,有时会提高到7. top显示MySQL是坏男孩: PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 26362 mysql 20 0 2757M 762M 5872 S 16.0 7.7 3h54:51 /usr/sbin/mysqld –basedir=/ –datadir=/var/lib/mysql –user=mysql –log-error=/var/lib/mysql/shadow.err –open-files-limit=50000 –pid-file=/var/lib/mysql/shadow.pid 你知道如何确定运行查询的脚本吗? 感谢您的帮助。

如何检测Apache是​​否(即将)被请求淹没?

我正在维护和计划在Ubuntu上运行Apache2的EC2服务器实例,该实例每小时接收大约10000(非常简单)的请求。 这只是一些数据来自POST和一个虚拟的纯文本连字符响应。 随着时间的推移,请求数量将逐渐增加,达到每小时一百万左右。 我如何(可靠地)检测到服务器已经瘫痪,不再能够处理传入的请求? 我现在正在做的只是检查内存和CPU负载htop – 如果那些不满容量,那么我认为一切都很好。