解决DBMAIL收取邮件无响应以及群发组邮件慢的问题

2016/4/27 22:02:14      点击:

虽然自己不是DBMAIL官方的人员,但是到目前为止,为不少DBMAIL的用户以及官方提供了售后服务的支持,DBMAIL总体算是一款很不错的软件,关键看你是否会进行优化设置,设置的好,收发还是非常的不错的,下面是两个客户的真实案例以及解决的方案,需要对于有类似问题的,可以参考下:

案例一:

用户数量达到1500左右,WIN2003系统+MS SQL2000,邮件总存在占用到800G,删除历史邮件后还剩下200G的样子,群发公司内部邮件,需要2-3天,切换到ACCESS数据库新机器测试,2个小时内全部收到。

解决方法:

DBMAIL对于SMTP和POP3都是有线程数量设置的,默认的也就20~30线程,对于一般的公司来说,这个线程已经足够了,但是对于目前这个1500人的大企业,这个肯定是不够的,对于SMTP线程,建议设置到总人数的1/5~1/3样子比较合适,否则同时收发的人数多,就会导致大量的队列的情况。这个公司有1500用户,因此可以设置SMTP很POP3线程都为500.当然,是不是说,线程越大越好,当然也不少,线程越大,占用的资源就会越大,对于这样的大企业来说,500线程,已经完全足够了。另外一个需要优化的,就是MS SQL的线程数,因为MS SQL 2000的线程,默认是255,最好将SQL的线程设置为0,也就是不限制模式,这样就算再多的邮件收发,也不会约到DBMAIL软件+数据库瓶颈问题。通过以上设置,问题成功解决,1500人大企业收发都很快。


案例二:

用户数量在100以内,大约80用户,WIN2003系统+MYSQL数据库模式,在FOXMAIL等客户端收取邮件的时候,出现超时无响应问题。

解决方案:

对于100用户左右的企业,建议把SMTP和POP3的线程,全部设置为50,超时无响应时间,设置为90秒。另外,MYSQL数据库默认最大连接,是100个,在DBMAIL的MYSQL配置文件中,是没有设置的,所以会按照默认设置100来处理,由于数据库打开后,就算客户端退出了,数据库也不会马上关闭连接,而是出于暂时锁定状态。这样连接的人多了,自然会超过最大线程。所以找到数据库配置文件DBMail\resource\MySQL\my.ini在[mysqld]设置中,增加下面内容:max_connections=1500 然后重启数据库和软件生效。


如果你的服务器放在公司内部,那么请在路由上把DMZ主机指向服务器的内网IP,这样可以加快访问的速度


从以上的案例也可以看出,出现问题,重点是要学会分析,找到技术瓶颈,这样问题就容易解决了。如果碰到其它问题,欢迎来咨询。