soya 高负荷测试
davies 发表于 2005 年 04 月 27 日
一大早醒来,窗外不时传来麻雀叽叽喳喳的叫声,预示着新的一天的开始。最近已经习惯早起了,似乎没那天能睡过 8 点。
soya ——就是那台破服务器——开始在嗡嗡叫了,我设定了 7:00 启动开机。在清晨的宿舍,这声音显得非常突兀,让人觉得烦燥。rogerz 开始抗议了,建议 8 点才开机,那时也盖起来了。
下床后打开 soya 的机箱盖,侧耳听听,主要的噪声来源就是CPU风扇,一时想不出什么好办法,就把风扇电源给断了。原来也有过不用风扇的经历,那时是赛扬 800,发热很低。这也是赛扬家族的小弟,应该也有着这一传统吧,说不定不用风扇也成。风扇已经停了一会,可 Gentoo 并没有挂的迹象。
为了给它加大点负荷,一边 emerge sync,一边用浏览器打开 blog 页面,且不停地刷新。正在运行的 apache 是有线程支持的,一会就蹦出了十几个 apache 线程,内存消耗达150多M。而 soya 的物理内存只有 64M,在大量地使用虚拟内存。系统负荷变得异常高,曾经一度达到 58,平常都是 1 左右,想象真实恐怖。不过系统还没死,只是响应变得很慢了,blog 页面根本刷不出来。
看来内存少比CPU慢更严重,得想办法搞来一条内存。实验室有一些升级换下来的配件,可以暂时借来用以下。后来找到了一根 64M SDR内存,中午回来赶紧给它装上,跑得还挺欢,呵呵
后来又用做了 apache 的高负荷测试,结果同前面差不多,会迅速消耗掉所有物理内存,并大量使用虚拟内存,疯狂折腾硬盘,系统几乎失去响应。看来 apache 的 threads 特性在这台破机器上不但没有什么益处,反而容易造成系统失去响应。
apache 应该可以限制连结数,进而控制线程数。在文件 /etc/apache2/conf/apache2.conf 中有相应的配置选项。我都将它们大大减少了。
再做前面一样的负荷测试,即不断的用 IE 刷新页面,虽然得等一回才能有响应,但是服务器端已经不再有耗光物理内存的险象,过一会就能有结果返回 IE。
在一般情况下,系统之消耗了30-40M内存,同时会有一些cache,虚拟内存的使用在 10M 以下。