我的E-Mail伺服器为什么变慢了
一切本来都是那样的宁静,所有的网络服务都在默默地工作着。然而近一段时间来,经常有人打电话反映一个相同的问题:在接收E-Mail时,服务器端经常应答超时,从而无法正常收到E-Mail,但如果过一会儿再收,则又可能正常接收到。大家对此表现出了很大的不满。因此,我们就迅速动手寻找问题的根源,以争取尽快修复这个故障。
内容来自dedecms
一、查阅基本信息 织梦好,好织梦
首先我们翻看了归档资料,确定了E-Mail运行在一个配置为PIII 500MHz,128M内存,20G硬盘的工控机上,操作系统是Redhat linux 6.5,使用Sendmail做为E-Mail Server,并且采用系统的passwd文件做为Sendmail邮件用户的认证文件。
本文来自织梦
根据网管日志记载该邮件系统的用户在这一段时间以来发展十分迅速,用户数从1万名增加到了超过2万名。
织梦好,好织梦
二、初步分析
通过上面信息的了解,我们基本上确认速度变慢的主要的原因是用户量的增长。因此,在这此前提下进行了分析。 本文来自织梦
我们在linux控制台下,输入以下命令查看系统的进程情况:
ps –auxw
本文来自织梦
我们发现,该命令列出了大量的发送邮件和POP进程。然后根据网管日志的记录,分别在低峰、平均、高峰期间进行了并发用户数的检查,发现在高峰情,并发的用户数已从原来的20个用户上升到了40个用户。
到此为止,我们得出了初步的结论:由于用户的不断增长,并发用户也越来越多,使得机器无法处理完这些并发请求,以致E-Mail服务器对用户响应过慢,甚至超时而无法使用。因此,我们认为解决这一故障的办法就是升级机器。
三、深入分析
dedecms.com
这时,我们突然间又注意到了40这个数字,我们觉得现在使用的E-Mail Server服务器的性能不应该无法处理40个用户同时访问的呀。我们隐隐感觉到前面的分析一定有什么地方疏忽了,以至得到了一个并不正确的结果。
因此,我们便查看了另外一台配置相同,正在运行WEB服务的服务器,我们发现,该服务器在同时处理50个用户访问时,并没有感到处理能力不足。
这时,我们开始进一步分析E-Mail服务的整个过程。首先用户的邮件接收程序通过POP协议与服务器的POP模块进行通讯,并提供用户名与密码;接着E-Mail服务器的POP模块要将用户提供的密码进行加密;然后与系统文件/etc/passwd中的用户密码进行逐行匹配,并找出相应的用户名,再进行第二次匹配;如果匹配成功,则校验通过,否则就返回用户名或密码不正确。校验通过后,服务器开始将属于该用户的邮件传送给用户的邮件接收程序。这时,我们想到了,所有的用户连接都有一个共同的环节,那就是都要打开系统文件/etc/passwd,进行用户的验证,会不会是因此带来瓶颈问题呢?
文章评论
共有位Admini5网友发表了评论 查看完整内容