|簡體中文

比思論壇

 找回密碼
 按這成為會員
搜索



查看: 815|回復: 1
打印 上一主題 下一主題

Postfix+ldap的性能测试及分析

[複製鏈接]

41

主題

0

好友

352

積分

中學生

Rank: 3Rank: 3

  • TA的每日心情
    奮斗
    2019-5-13 14:36
  • 簽到天數: 68 天

    [LV.6]常住居民II

    推廣值
    0
    貢獻值
    0
    金錢
    902
    威望
    352
    主題
    41
    樓主
    發表於 2013-1-17 23:00:28
    Postfix+ldap的性能测试及分析

    1.测试平台
    PIII 933 × 2 + 512M + SCSI 18G
    Postfix 2.0.0.1 + openldap 2.0.11(默认安装) + virtual 投递
    2.使用HASH格式作为查询表(lookukp table)时,SMTP 注入速度大概都有5000多封信/分钟。最高能达到87.5封/s。
    这个时候采用的方式为只测试信头,100个并发连接。将postfix的默认进程限制提升到500,即:default_process_limit = 500,这也加大了并发速度。其中对syslogd采用了异步写优化(在设置的目录前加-号) 也能大幅度提高速度。
    mail.*              -/var/log/maillog
    3.将用户信息保存在ldap里,SMTP注入速度基本都有2500-2800/分钟,再简化了lookup的方式,transport_maps采用固定文本的方式,只有virtual_mailbox_maps才用ldap,这样速度提高到3200-3500封/分钟左右。测试recipients地址固定为10个
    4.在ldap里存放50万条用户记录。进行500,1000,2000地址的并发测试,结果发现SMTP注入速度和使用的用户地址多少关系不大,以下是2000地址的结果:
    Postal result:
    time,msg/m,KB,error,connection,SSL
    10:26,3779,1516,2,1930,0
    10:27,3889,1556,0,1953,0
    10:28,3987,1592,0,1997,0
    10:29,4174,1667,0,2067,0
    10:30,4308,1720,0,2166,0
    10:31,4039,1613,0,1986,0
    10:32,2660,1061,0,1338,0
    10:33,2436,972,0,1216,0
    SMTP注入速度比较快,这里信件内容只包含了信头,采用50个并发连接,每个连接只发2-3封信。感觉效果还是不错的。不过10:32之后速度开始有点问题了,我检查了/var/spool/postfix目录,发现incoming的数量大幅提高,估计是cleanup不能那么快处理incoming的信件,使队列堆积起来;但也可能是ldap反应速度开始变慢。
    小结:性能优化技巧·关闭ldap的log使之=0
    ·将maillog等需要频繁进行write/sync的日志设置为async write,方法见上文
    ·调整postfix的default_process_limit > 150
    ·调整/var/spool/postfix目录的属性为async,使用chattr命令
    5. 50个并发2000地址,邮件只包含信头,每个连接3封信的结果:

    11:17,3613,1447,0,1849,0
    11:18,3876,1547,0,1930,0
    11:19,4088,1634,0,2080,0
    11:20,3920,1566,0,1977,0
    11:21,4057,1621,0,2021,0
    11:22,3946,1573,0,1960,0
    11:23,3316,1324,0,1695,0
    11:24,2576,1030,0,1295,0
    11:25,2889,1155,0,1439,0
    ^^^^^^^^^^^^^^^^^^^^^^*
    11:26,3984,1596,0,1990,0
    11:27,3986,1588,0,1993,0
    11:28,4164,1662,0,2064,0
    11:29,3973,1591,0,1986,0
    11:30,3991,1592,0,1982,0
    11:31,3521,1406,0,1758,0
    11:32,2590,1035,0,1297,0
    ^^^^^^^^^^^^^^^^^^^^^^*
    11:33,2655,1058,0,1322,0
    11:34,2745,1097,0,1348,0
    注意^^*所标记的时间段,SMTP注入性能大幅度下降。检查/var/spool/postfix目录,发现qmgr已达到处理上限了,该上限由qmgr_message_active_limit 参数设置。故此incoming开始增长很多,Postfix开始放慢处理速度。
    以上所有测试都是在default_destination_concurrency_limit = 10的条件下完成的,所以在virtual进行本地mailbox投递时,并发数很少,而active目录增长得很快,没有足够多的virtual进行投递,结果是无法快速地将邮件写到硬盘。
    6.提升default_destination_concurrency_limit:
    default_destination_concurrency_limit = 1000
    此时出现另外一个问题:active队列大概只维持在200-300百封信的样子,但defer/defered目录开始有所增长,并且SMTP注入速度下降,大概只有1850封信/分钟的速度。此时virtual的并发数目达到了400个!
    可以推断,这是因为virtual投递速度和数量大幅度增加,致使磁盘写(write)操作过于频繁,使磁盘I/O性能吃紧,导致性能下降。
    解决办法:使用分布式存储,利用mailswitch这一类技术,将最终的邮件投递由存储机器上的软件完成。
    将这个default_destination_concurrency_limit改成100,速度提升了一些,但很多出现了很多lookup failure:
    time,messages,data(K),errors,connections,SSL connections
    Server error:451 : Temporary lookup failure
    .
    Server error:451 : Temporary lookup failure
    .
    11:57,2773,1124,2,1459,0
    11:58,2302,920,0,1156,0
    11:59,2492,996,0,1264,0
    12:00,2204,879,0,1087,0
    Server error:451 : Temporary lookup failure
    .
    Server error:451 : Temporary lookup failure
    .
    12:01,2311,924,2,1146,0
    Server error:451 : Temporary lookup failure
    .
    12:02,2487,993,1,1265,0
    12:03,2284,912,0,1112,0
    12:04,1515,602,81,808,0
                  ^^ 81个错误
    12:05,1969,787,11,1012,0
    12:06,2139,858,0,1073,0
    12:07,2174,868,0,1095,0
    12:08,2214,884,0,1093,0
    12:09,2252,900,0,1118,0
    Server error:451 : Temporary lookup failure

    6

    主題

    0

    好友

    188

    積分

    小學生

    Rank: 2

  • TA的每日心情
    奮斗
    2024-7-29 21:04
  • 簽到天數: 232 天

    [LV.7]常住居民III

    推廣值
    0
    貢獻值
    0
    金錢
    481
    威望
    188
    主題
    6
    沙發
    發表於 2013-1-22 00:41:34
    本帖最後由 Ezreal 於 2013-1-22 00:46 編輯

    为什么我做同样的测试  直接就重启 或者死机了.  是配置不够 资源 不够 导致的吗 ?
    重要聲明:本論壇是以即時上載留言的方式運作,比思論壇對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,讀者及用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,讀者及用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本論壇受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者及用戶發現有留言出現問題,請聯絡我們比思論壇有權刪除任何留言及拒絕任何人士上載留言 (刪除前或不會作事先警告及通知 ),同時亦有不刪除留言的權利,如有任何爭議,管理員擁有最終的詮釋權。用戶切勿撰寫粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。

    手機版| 廣告聯繫

    GMT+8, 2024-11-1 10:20 , Processed in 0.012939 second(s), 16 queries , Gzip On, Memcache On.

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回頂部