takep****@gmail*****
takep****@gmail*****
2011年 7月 8日 (金) 15:10:54 JST
中野様 回答ありがとうございます。 お送りいただいたcheckstack.plを実行したところ、 576行ものログが出てきました。 以下、一部です。 ------------------------------------------------- 0x0817ebb6 _ZN4l7vs14tcp_ssl_socket5closeERN5boost6system10error_codeE [l7vsd]:17340 0x08180043 _ZN4l7vs14tcp_ssl_socket9read_someEN5boost4asio17mutable_buffers_1ERNS1_6system10error_codeE [l7vsd]:17128 0x08180c26 _ZN4l7vs14tcp_ssl_socket10write_someEN5boost4asio17mutable_buffers_1ERNS1_6system10error_codeE [l7vsd]:16892 0x0817f8f6 _ZN4l7vs14tcp_ssl_socket9handshakeERN5boost6system10error_codeE [l7vsd]:16828 0x0817fabb _ZN4l7vs14tcp_ssl_socket9handshakeERN5boost6system10error_codeE [l7vsd]:16828 ------------------------------------------------- ブログの内容から、:の右側を合計するのかな、と思い計算した結果は、 325,896(バイト)でした。 stack sizeを調整していない環境の方では、1,064行で合計796,792(バイト) でした。 中野様の仰る通り、1MB以下のようです。 極端な話ですが、stack sizeをさらに1/5の1024KBにして、 session_thread_pool_sizeを5倍の160にして動作させることも 考えられる、という感じでしょうか? とりあえず、stack sizeとsession_thread_pool_size を調整しながら使っていこうと思います。 On Fri, 08 Jul 2011 13:44:09 +0900 中野 宏朗 <h-nak****@iwao*****> wrote: > To: 竹内さん > > 中野です。 > (アドレスかわってますがw) > > 動作したようで、おめでとうございます^^ > > スタックサイズですが、どのくらい必要かはおっしゃるとおり、 > トライ&エラーになるかもです。。 > スタック必要サイズを意識して作られてるようには見えないですし・・・ > C++で作られてますし・・・ > Cなら、pthread関連のAPIで設定したりしますけど。 > > と、ぐぐってみたらこんなブログ見つけました。 > http://0xcc.net/blog/archives/000115.html > > こんなのあったんですね。知らなかった。 > とりあえず、自分のもってるカーネルgitリポジトリから、 > checkstack.plを取ってきてメールに添付してみます。 > > いま、UltraMonkey-L7がない環境にいるので、竹内さんのほうで > ブログにあるように、 > > # objdump -d `which l7vsd` | perl checkstack.pl > > とかで、どのくらいになるか計ってみてください。 > > あ、でもスレッドのスタックとかはどう計るんだろ・・・ > まあ、上記で目安にはなるかな? > > たぶん、1スレッドあたり1MBも使わないと > (あてずっぽうでw)予想してます。