• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            教父的告白
            一切都是紙老虎
            posts - 82,  comments - 7,  trackbacks - 0
            A Million-user Comet Application with Mochiweb, Part 1
            在MacOSX平臺上遇到的一些問題:

            一. IPv6導致的問題
            在MacOS下測試時報錯econnrefused,mochi-urls.txt文件的url不能用localhost,得用127.0.0.1才行

            在Erlang的郵件列表中找到了解釋:
            We have seen the same issue with CouchDB. What we found out
            is that in our case localhost was not only resolving to 127.0.0.1 (IPv4)
            but also ::1 (IPv6) and that http:request() would try to connect to
            ::1 where no service was listening.

            Erlang的http模塊缺省是打開IPv6模式的,當測試程序通過http模塊連接localhost時,連接的地址是IPv6的::1地址,但是mochi沒有在此監(jiān)聽,所以連接出錯 {error,econnrefused}

            解決方法兩種:
            1. 將mochi-urls.txt中的地址都改成127.0.0.1
            2. 在http:request(…)運行之前調用http:set_options([{ipv6,disabled}]),關閉測試程序的IPv6模式,使用IPv4模式

            理論上還有一種方法:讓mochi服務器開啟IPv6模式監(jiān)聽,這個我不知道這么開,
            參考
            You should teach Yaws to listen also on IPv6 - “localhost” resolves not
            only to IPv4 127.0.0.1, but also to IPv6 ::1.


            二. 進程能打開的文件描述符數量的限制
            MacOSX下缺省能同時打開的文件描述符最大數是256個,使用 ulimit -a命令查看
            $ ulimit -a
            core file size          (blocks, -c) 0
            data seg size           (kbytes, -d) 6144
            file size               (blocks, -f) unlimited
            max locked memory       (kbytes, -l) unlimited
            max memory size         (kbytes, -m) unlimited
            open files                      (-n) 256
            pipe size            (512 bytes, -p) 1
            stack size              (kbytes, -s) 8192
            cpu time               (seconds, -t) unlimited
            max user processes              (-u) 266
            virtual memory          (kbytes, -v) unlimited
            使用ulimit -n XXXX設置,但最大數量還是不能超過10240

            查看內核每進程最大文件數:
            $ sysctl kern.maxfiles kern.maxfilesperproc
            kern.maxfiles: 12288
            kern.maxfilesperproc: 10240

            增大每進程最大文件數:
            $ sudo sysctl -w kern.maxfilesperproc=20480 kern.maxfiles=22528

            然后設置
            $ ulimit -n 20480
            注意ulimit只在每個shell窗口生命周期內有效,當新開一個shell后,得再次設置
            sysctl做的修改沒有這個問題

            三、調節(jié)IP端口號范圍,不然最多只能有15K個連接
            缺省動態(tài)端口號從49152開始,改成2000后最多可以有63K個連接
            sysctl -w net.inet.ip.portrange.hifirst=2000 net.inet.ip.portrange.first=2000
            posted on 2009-09-24 00:59 暗夜教父 閱讀(428) 評論(0)  編輯 收藏 引用 所屬分類: erlang

            <2010年3月>
            28123456
            78910111213
            14151617181920
            21222324252627
            28293031123
            45678910

            常用鏈接

            留言簿(2)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            精品久久久久久久| 日产精品99久久久久久| 国内精品伊人久久久久| 久久国产成人精品麻豆| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 欧美激情精品久久久久久| 无码精品久久一区二区三区| 日本WV一本一道久久香蕉| 东京热TOKYO综合久久精品| 国产精品成人99久久久久91gav| 日韩久久久久中文字幕人妻| 蜜臀av性久久久久蜜臀aⅴ麻豆| 久久久久一区二区三区| 久久久国产99久久国产一| 亚洲国产二区三区久久| 久久亚洲精品中文字幕| 精品99久久aaa一级毛片| 99久久精品国产一区二区三区| 亚洲精品国精品久久99热 | 久久精品国产亚洲一区二区| 亚洲国产成人久久综合野外| 蜜桃麻豆www久久| 色欲综合久久躁天天躁蜜桃| 久久99热这里只频精品6| 草草久久久无码国产专区| 亚洲人成精品久久久久| 久久国产欧美日韩精品| 欧美久久久久久精选9999| 久久青青草原亚洲av无码app| 亚洲色欲久久久综合网东京热| 久久国产成人精品国产成人亚洲| 无码人妻少妇久久中文字幕蜜桃| 伊人久久大香线蕉无码麻豆| 久久精品国产只有精品66 | 午夜天堂av天堂久久久| 麻豆久久久9性大片| 99久久国产亚洲综合精品| 欧美一级久久久久久久大| 一级做a爰片久久毛片毛片| 亚洲精品乱码久久久久久不卡| 亚洲午夜精品久久久久久app|