天行健,君子以自强不息!
分类: 项目管理
2015-05-22 11:43:30
给部门新搭建的一套redmine项目管理系统,运行在apache + passenger环境上,
近两天开始正式启用时发现每次新建\更新问题的时候就特别慢,其他操作响应都很快,
观察了服务器也没什么压力,而且报社内部运行的另一套redmine系统就没此问题,,
逐步分析后发现是启用邮件通知造成的,
当时在configuration.yml配置的是同步邮件通知,所以在触发邮件发送的事件发生后, 先发送邮件, 直到邮件发送完毕, 页面才跳转.
这就是说在发送邮件的过程中, 页面一直处于等待状态。
遂动手将delivery_method设置为:async_smtp(异步发送邮件);
重启apache后问题消失了,打开页面嗖嗖的~哈哈
在Redmien 0.9 之后增加了异步发送邮件机制呢, 可通过将delivery_method设置为:async_smtp,
这时发送邮件和页面跳转属于不同的线程,
当触发邮件的事件发生后, 发送邮件将会通过消息队列在后台执行,
而页面继续向下执行, 不用等到邮件发送完毕.