[Ultramonkey-l7-users 604] Re: Sorryサーバーへの流入

Back to archive index

小林 年伸 toshi****@jig-s*****
2015年 10月 5日 (月) 10:25:06 JST


竹田様

ジグソー小林です。

> ○"maxconn"の設定をしない/もしくは"0"(無制限)にする
>  この設定により、指定数以上の同時接続があった場合に
>  Sorryサーバに接続するという動作を行わなくします。
>
>  なお、接続先のリアルサーバがすべてダウンした場合に関しては
>  自動的にSorryサーバへの振り分けが行われます。
>  
>  また、以下のコマンドで手動によりSorryサーバへの
>  振り分けのオン/オフを切り替えることは可能です。
>
>  例) 
>   # l7vsadm -E -t <仮想サービス> -m <プロトコルモジュール> -s <スケ 
> ジューラ> -f <1:Sorryオン/0:Sorryオフ> 
ひとまず暫定で「maxconn」を0にすることで対応できました。
ご教授有難うございました。

只、アクティブカウントの数が増えてしまう事象が発生してしまうと
sorry機能のon・offを動的に変更しても無理でした。

どうぞよろしくお願いいたします。

On 2015/09/30 11:34, 小林 年伸 wrote:
> 竹田様
>
> ジグソー小林です。
>
> 早速のご確認ありがとうございます。
> まずは教えていただきました対処方法を
> 試してみます。
>
> どうぞよろしくお願いいたします。
>
>
> On 2015/09/30 10:54, Takeda wrote:
>> 小林様
>>
>> コミュニティメンバの竹田と申します。
>>
>> ご質問いただいていたSorryサーバの件です。
>>
>> 手順およびログを提示いただきありがとうございます。
>> こちらでも試したところ、事象を再現することができました。
>>
>> 詳しい原因は調査中ですが、根本的な解決にあたっては
>> コードを修正しなくてはいけない可能性もあるため、
>> 当面の対処として以下の実施を検討いただけますでしょうか。
>>
>> ○"maxconn"の設定をしない/もしくは"0"(無制限)にする
>>  この設定により、指定数以上の同時接続があった場合に
>>  Sorryサーバに接続するという動作を行わなくします。
>>
>>  なお、接続先のリアルサーバがすべてダウンした場合に関しては
>>  自動的にSorryサーバへの振り分けが行われます。
>>  
>>  また、以下のコマンドで手動によりSorryサーバへの
>>  振り分けのオン/オフを切り替えることは可能です。
>>
>>  例) 
>>   # l7vsadm -E -t <仮想サービス> -m <プロトコルモジュール> -s <スケ 
>> ジューラ> -f <1:Sorryオン/0:Sorryオフ>
>>
>> ○Sorryサーバを使用せず"fallback"を使用する
>>  本設定は仮想サービスに属するリアルサーバが全て異常となり、
>>  どのリアルサーバにも振り分けられなくなった場合に、
>>  自動的に追加される代替リアルサーバの設定です。
>>  (仮想サーバ毎に設定可能です)
>>
>>  設定方法については管理者マニュアルをご覧ください。
>>  https://osdn.jp/projects/ultramonkey-l7/docs/uml7-administration_manual_v3.3_ja/ja/6/uml7-administration_manual_v3.3_ja.txt 
>>
>>    4.2.1.3 RealServer 異常時の設定
>>   (2) fallback
>>
>> いずれに関してもmaxconnの使用を避けるような
>> 形になってしまいますが、ご検討ください。
>>
>>
>> 以上、よろしくお願いいたします。
>>
>>
>>> -----Original Message-----
>>> From: ultra****@lists***** 
>>> [mailto:ultra****@lists*****] On Behalf Of 小
>>> 林 年伸
>>> Sent: Tuesday, September 29, 2015 10:02 AM
>>> To: ultra****@lists*****
>>> Subject: [Ultramonkey-l7-users 601] Sorryサーバーへの流入
>>>
>>> 開発者の皆様
>>>
>>> jig-sawの小林と申します。
>>>
>>> ultramonkeyl7-3.1.1、 ultramonkeyl7-3.1.2
>>> であるきっかけで内部的にactive_countが膨大な数になり
>>> 突然Sorryサーバーに流れる事象がありましたので
>>> ご質問させていただいてよろしいでしょうか。
>>>
>>> 以下私の方で確認できた部分です。
>>>
>>> =================================================
>>> ①構成
>>> =================================================
>>> エッジルーター
>>>>>> ultramonkeyl7-3.1.1 or ultramonkeyl7-3.1.2
>>> OS:CentOS 6.6 64bit
>>> pacemaker, corosyncの冗長構成
>>>>>> httpリアルサーバー × 2 (apache)
>>> OS:CentOS 5.5 64bit
>>>
>>> ・l7vsd設定 ※ログ部分は省略させていただきます。
>>> ------------------------------------------
>>> #
>>> # l7vsadm setting
>>> #
>>> [l7vsadm]
>>> cmd_interval = 1
>>> cmd_count = 10
>>> con_interval = 1
>>> con_count = 1
>>>
>>> #
>>> # l7vsd setting
>>> #
>>> [l7vsd]
>>> maxfileno = 65535
>>>
>>> #
>>> # virtualservice setting
>>> #
>>> [virtualservice]
>>> session_thread_pool_size    = 32
>>> throughput_calc_interval    = 500
>>> #num_of_core_uses            = 0
>>>
>>> #
>>> # Session Settings
>>> #
>>> [session]
>>> upstream_buffer_size = 8192
>>> downstream_buffer_size = 8192
>>> server_connect_timeout = 5
>>>
>>> [replication]
>>> 使用していません
>>>
>>> [snmpagent]
>>> enable = "false"
>>> ------------------------------------------
>>>
>>> ・l7director設定
>>> ------------------------------------------
>>> # - Monitor Settings
>>> checktimeout     = 5
>>> negotiatetimeout = 5
>>> checkinterval    = 10
>>> retryinterval    = 5
>>> checkcount       = 3
>>>
>>> # - Real Server Operation
>>> quiescent        = yes
>>> #fallback         = 127.0.0.1:80
>>>
>>> # - Monitor Configuration File
>>> configinterval   = 10
>>> autoreload       = yes
>>>
>>> # HTTP
>>> virtual  = 〓vip〓:80
>>>           real=172.20.0.251:80 masq 10
>>>           real=172.20.0.253:80 masq 10
>>>           module      = sessionless --forwarded-for
>>>           sorryserver = 〓sorry srver〓
>>>           scheduler   = lc
>>>           qosup       = 125M
>>>           qosdown     = 125M
>>>           checktype   = connect
>>>           service     = http
>>>           quiescent   = no
>>>           checkcount  = 2
>>>           session_thread_pool_size = 50
>>>           maxconn     = 1000
>>> ------------------------------------------
>>>
>>> ・apache設定 ※timeout値とpreforkモジュール部分のみ抜粋です
>>> ------------------------------------------
>>> Timeout 60
>>> KeepAlive On
>>> MaxKeepAliveRequests 100
>>> KeepAliveTimeout 2
>>>
>>> <IfModule prefork.c>
>>> StartServers       8
>>> MinSpareServers    5
>>> MaxSpareServers   20
>>> ServerLimit      256
>>> MaxClients       256
>>> MaxRequestsPerChild  4000
>>> </IfModule>
>>> ------------------------------------------
>>>
>>> =================================================
>>> ②事象
>>> =================================================
>>> 1). 上の構成でultramonkeyl7のvipにtelnetコマンドで接続
>>> $ telnet 〓vip〓 80
>>> Trying 〓vip〓
>>> Connected to 〓vip〓
>>> Escape character is '^]'.
>>> GET / HTTP/1.0
>>>
>>> 通常通り操作を行えばリアルサーバーのコンテンツが返ってきます。
>>> 以下はl7vsd_virtualserviceのデバッグログです
>>> ----------------------------------------
>>> 2015/09/28 19:03:12 [DEBUG] l7vsd_virtualservice VSD10700031 active
>>> session thread id = 0x16003f0 〓ホスト名〓 0x7ffd78fc7700
>>> virtualservice_tcp.cpp:457
>>> 2015/09/28 19:03:12 [DEBUG] l7vsd_virtualservice VSD10700032
>>> pool_session.size = 49 〓ホスト名〓 0x7ffd78fc7700
>>> virtualservice_tcp.cpp:460
>>> 2015/09/28 19:03:12 [DEBUG] l7vsd_virtualservice VSD10700033
>>> active_session.size = 1 〓ホスト名〓 0x7ffd78fc7700
>>> virtualservice_tcp.cpp:463
>>> 2015/09/28 19:03:12 [DEBUG] l7vsd_virtualservice VSD10700034
>>> active_count = 0 〓ホスト名〓 0x7ffd78fc7700 virtualservice_tcp.cpp:466
>>> 2015/09/28 19:03:12 [DEBUG] l7vsd_virtualservice VSD10700007 
>>> in_function
>>> : void session_thread_control::startupstream() 〓ホスト名〓
>>> 0x7ffd78fc7700 session_thread_control.cpp:211
>>> 2015/09/28 19:03:12 [DEBUG] l7vsd_virtualservice VSD10700008
>>> out_function : void session_thread_control::startupstream() :status = 1
>>> 〓ホスト名〓 0x7ffd78fc7700 session_thread_control.cpp:219
>>> 2015/09/28 19:03:12 [DEBUG] l7vsd_virtualservice VSD10700011 
>>> in_function
>>> : void session_thread_control::startdownstream() 〓ホスト名〓
>>> 0x7ffd78fc7700 session_thread_control.cpp:246
>>> 2015/09/28 19:03:12 [DEBUG] l7vsd_virtualservice VSD10700012
>>> out_function : void session_thread_control::startdownstream() : 
>>> status =
>>> 1 〓ホスト名〓 0x7ffd78fc7700 session_thread_control.cpp:254
>>> 2015/09/28 19:03:12 [DEBUG] l7vsd_virtualservice VSD10700035 active
>>> session thread id = 0x1610400 〓ホスト名〓 0x7ffd78fc7700
>>> virtualservice_tcp.cpp:512
>>> 2015/09/28 19:03:12 [DEBUG] l7vsd_virtualservice VSD10700036
>>> pool_session.size = 48 〓ホスト名〓 0x7ffd78fc7700
>>> virtualservice_tcp.cpp:515
>>> 2015/09/28 19:03:12 [DEBUG] l7vsd_virtualservice VSD10700037
>>> active_session.size = 1 〓ホスト名〓 0x7ffd78fc7700
>>> virtualservice_tcp.cpp:518
>>> 2015/09/28 19:03:12 [DEBUG] l7vsd_virtualservice VSD10700038
>>> active_count = 0 〓ホスト名〓 0x7ffd78fc7700 virtualservice_tcp.cpp:521
>>> 2015/09/28 19:03:12 [DEBUG] l7vsd_virtualservice VSD10700039
>>> out_function: void virtualservice_tcp::handle_accept( const
>>> boost::shared_ptr<session_thread_control> , const
>>> boost::system::error_code& err ) 〓ホスト名〓 0x7ffd78fc7700
>>> virtualservice_tcp.cpp:544
>>> 2015/09/28 19:03:12 [DEBUG] l7vsd_virtualservice VSD10700082
>>> in_function: void virtualservice_tcp::connection_active( const
>>> boost::asio::ip::tcp::endpoint& in ): in = 172.20.0.251:80 〓ホスト名〓
>>> 0x7ffceef02700 virtualservice_tcp.cpp:1706
>>> 2015/09/28 19:03:12 [DEBUG] l7vsd_virtualservice VSD10700083
>>> out_function: void virtualservice_tcp::connection_active() 〓ホスト名〓
>>> 0x7ffceef02700 virtualservice_tcp.cpp:1722
>>> 2015/09/28 19:03:22 [DEBUG] l7vsd_virtualservice VSD10700084
>>> in_function: void virtualservice_tcp::connection_inactive( const
>>> boost::asio::ip::tcp::endpoint& in ): in = 172.20.0.251:80 〓ホスト名〓
>>> 0x7ffceef02700 virtualservice_tcp.cpp:1738
>>> 2015/09/28 19:03:22 [DEBUG] l7vsd_virtualservice VSD10700085
>>> out_function: void virtualservice_tcp::connection_inactive() 〓ホスト名
>>> 〓 0x7ffceef02700 virtualservice_tcp.cpp:1774
>>> 2015/09/28 19:03:22 [DEBUG] l7vsd_virtualservice VSD10700013 
>>> in_function
>>> : void session_thread_control::stopdownstream() 〓ホスト名〓
>>> 0x7ffcee501700 session_thread_control.cpp:264
>>> 2015/09/28 19:03:22 [DEBUG] l7vsd_virtualservice VSD10700014
>>> out_function : void session_thread_control::stopdownstream() : status =
>>> 0 〓ホスト名〓 0x7ffcee501700 session_thread_control.cpp:271
>>> 2015/09/28 19:03:22 [DEBUG] l7vsd_virtualservice VSD10700086
>>> in_function: void virtualservice_tcp::release_session( const
>>> tcp_session* session_ptr ): session_ptr = 0x16ea650 〓ホスト名〓
>>> 0x7ffceef02700 virtualservice_tcp.cpp:1790
>>> 2015/09/28 19:03:22 [DEBUG] l7vsd_virtualservice VSD10700089
>>> pool_session.size = 48 〓ホスト名〓 0x7ffceef02700
>>> virtualservice_tcp.cpp:1810
>>> 2015/09/28 19:03:22 [DEBUG] l7vsd_virtualservice VSD10700090
>>> active_session.size = 1 〓ホスト名〓 0x7ffceef02700
>>> virtualservice_tcp.cpp:1813
>>> 2015/09/28 19:03:22 [DEBUG] l7vsd_virtualservice VSD10700091
>>> active_count = 0 〓ホスト名〓 0x7ffceef02700 
>>> virtualservice_tcp.cpp:1816
>>> 2015/09/28 19:03:22 [DEBUG] l7vsd_virtualservice VSD10700092
>>> pool_session.size = 49 〓ホスト名〓 0x7ffceef02700
>>> virtualservice_tcp.cpp:1825
>>> 2015/09/28 19:03:22 [DEBUG] l7vsd_virtualservice VSD10700093
>>> active_session.size = 0 〓ホスト名〓 0x7ffceef02700
>>> virtualservice_tcp.cpp:1828
>>> 2015/09/28 19:03:22 [DEBUG] l7vsd_virtualservice VSD10700094
>>> active_count = 0 〓ホスト名〓 0x7ffceef02700 
>>> virtualservice_tcp.cpp:1831
>>> 2015/09/28 19:03:22 [DEBUG] l7vsd_virtualservice VSD10700095
>>> out_function: void virtualservice_tcp::release_session( const
>>> tcp_session* session_ptr ): session_ptr = 0x16ea650 〓ホスト名〓
>>> 0x7ffceef02700 virtualservice_tcp.cpp:1836
>>> 2015/09/28 19:03:22 [DEBUG] l7vsd_virtualservice VSD10700009 
>>> in_function
>>> : void session_thread_control::stopupstream() 〓ホスト名〓
>>> 0x7ffceef02700 session_thread_control.cpp:229
>>> 2015/09/28 19:03:22 [DEBUG] l7vsd_virtualservice VSD10700010
>>> out_function : void session_thread_control::stopupstream() : status = 0
>>> 〓ホスト名〓 0x7ffceef02700 session_thread_control.cpp:236
>>>
>>>
>>> 2). 上の構成でultramonkeyl7のvipにtelnetコマンドで接続、後続のapacheが
>>> timeoutする60秒以上放置
>>> $ telnet 〓vip〓 80
>>> Trying 〓vip〓
>>> Connected to 〓vip〓
>>> Escape character is '^]'.
>>>
>>> リアルサーバがtimeoutすると以下のログが出力されました
>>> ----------------------------------------
>>> 2015/09/28 19:14:10 [DEBUG] l7vsd_virtualservice VSD10700027
>>> in_function: void virtualservice_tcp::handle_accept( const
>>> boost::shared_ptr<session_thread_control> , const
>>> boost::system::error_code& err ): err = false, err.message = Success 〓
>>> ホスト名〓 0x7fcc5ea5d700 virtualservice_tcp.cpp:349
>>> 2015/09/28 19:14:10 [DEBUG] l7vsd_virtualservice VSD10700031 active
>>> session thread id = 0x1e0dd70 〓ホスト名〓 0x7fcc5ea5d700
>>> virtualservice_tcp.cpp:457
>>> 2015/09/28 19:14:10 [DEBUG] l7vsd_virtualservice VSD10700032
>>> pool_session.size = 49 〓ホスト名〓 0x7fcc5ea5d700
>>> virtualservice_tcp.cpp:460
>>> 2015/09/28 19:14:10 [DEBUG] l7vsd_virtualservice VSD10700033
>>> active_session.size = 1 〓ホスト名〓 0x7fcc5ea5d700
>>> virtualservice_tcp.cpp:463
>>> 2015/09/28 19:14:10 [DEBUG] l7vsd_virtualservice VSD10700034
>>> active_count = 0 〓ホスト名〓 0x7fcc5ea5d700 virtualservice_tcp.cpp:466
>>> 2015/09/28 19:14:10 [DEBUG] l7vsd_virtualservice VSD10700007 
>>> in_function
>>> : void session_thread_control::startupstream() 〓ホスト名〓
>>> 0x7fcc5ea5d700 session_thread_control.cpp:211
>>> 2015/09/28 19:14:10 [DEBUG] l7vsd_virtualservice VSD10700008
>>> out_function : void session_thread_control::startupstream() :status = 1
>>> 〓ホスト名〓 0x7fcc5ea5d700 session_thread_control.cpp:219
>>> 2015/09/28 19:14:10 [DEBUG] l7vsd_virtualservice VSD10700011 
>>> in_function
>>> : void session_thread_control::startdownstream() 〓ホスト名〓
>>> 0x7fcc5ea5d700 session_thread_control.cpp:246
>>> 2015/09/28 19:14:10 [DEBUG] l7vsd_virtualservice VSD10700012
>>> out_function : void session_thread_control::startdownstream() : 
>>> status =
>>> 1 〓ホスト名〓 0x7fcc5ea5d700 session_thread_control.cpp:254
>>> 2015/09/28 19:14:10 [DEBUG] l7vsd_virtualservice VSD10700035 active
>>> session thread id = 0x1e1f890 〓ホスト名〓 0x7fcc5ea5d700
>>> virtualservice_tcp.cpp:512
>>> 2015/09/28 19:14:10 [DEBUG] l7vsd_virtualservice VSD10700036
>>> pool_session.size = 48 〓ホスト名〓 0x7fcc5ea5d700
>>> virtualservice_tcp.cpp:515
>>> 2015/09/28 19:14:10 [DEBUG] l7vsd_virtualservice VSD10700037
>>> active_session.size = 1 〓ホスト名〓 0x7fcc5ea5d700
>>> virtualservice_tcp.cpp:518
>>> 2015/09/28 19:14:10 [DEBUG] l7vsd_virtualservice VSD10700038
>>> active_count = 0 〓ホスト名〓 0x7fcc5ea5d700 virtualservice_tcp.cpp:521
>>> 2015/09/28 19:14:10 [DEBUG] l7vsd_virtualservice VSD10700039
>>> out_function: void virtualservice_tcp::handle_accept( const
>>> boost::shared_ptr<session_thread_control> , const
>>> boost::system::error_code& err ) 〓ホスト名〓 0x7fcc5ea5d700
>>> virtualservice_tcp.cpp:544
>>> 2015/09/28 19:14:10 [DEBUG] l7vsd_virtualservice VSD10700082
>>> in_function: void virtualservice_tcp::connection_active( const
>>> boost::asio::ip::tcp::endpoint& in ): in = 172.20.0.251:80 〓ホスト名〓
>>> 0x7fccba1fc700 virtualservice_tcp.cpp:1706
>>> 2015/09/28 19:14:10 [DEBUG] l7vsd_virtualservice VSD10700083
>>> out_function: void virtualservice_tcp::connection_active() 〓ホスト名〓
>>> 0x7fccba1fc700 virtualservice_tcp.cpp:1722
>>>
>>>
>>> 3). 2)の状態からtelnet側で操作を行うと後続がtimeoutしているので何も返っ
>>> てきません
>>> $ telnet 〓vip〓 80
>>> Trying 〓vip〓
>>> Connected to 〓vip〓
>>> Escape character is '^]'.
>>> GET / HTTP/1.0
>>>
>>> Connection closed.
>>>
>>> この時以下のログが出力されました
>>> ----------------------------------------
>>> 2015/09/28 19:15:37 [DEBUG] l7vsd_virtualservice VSD10700084
>>> in_function: void virtualservice_tcp::connection_inactive( const
>>> boost::asio::ip::tcp::endpoint& in ): in = 172.20.0.251:80 〓ホスト名〓
>>> 0x7fccba1fc700 virtualservice_tcp.cpp:1738
>>> 2015/09/28 19:15:37 [DEBUG] l7vsd_virtualservice VSD10700085
>>> out_function: void virtualservice_tcp::connection_inactive() 〓ホスト名
>>> 〓 0x7fccba1fc700 virtualservice_tcp.cpp:1774
>>> 2015/09/28 19:15:37 [DEBUG] l7vsd_virtualservice VSD10700086
>>> in_function: void virtualservice_tcp::release_session( const
>>> tcp_session* session_ptr ): session_ptr = 0x1dfc850 〓ホスト名〓
>>> 0x7fccba1fc700 virtualservice_tcp.cpp:1790
>>> 2015/09/28 19:15:37 [DEBUG] l7vsd_virtualservice VSD10700089
>>> pool_session.size = 48 〓ホスト名〓 0x7fccba1fc700
>>> virtualservice_tcp.cpp:1810
>>> 2015/09/28 19:15:37 [DEBUG] l7vsd_virtualservice VSD10700090
>>> active_session.size = 1 〓ホスト名〓 0x7fccba1fc700
>>> virtualservice_tcp.cpp:1813
>>> 2015/09/28 19:15:37 [DEBUG] l7vsd_virtualservice VSD10700091
>>> active_count = 18446744073709551615 〓ホスト名〓 0x7fccba1fc700
>>> virtualservice_tcp.cpp:1816
>>> 2015/09/28 19:15:37 [DEBUG] l7vsd_virtualservice VSD10700092
>>> pool_session.size = 49 〓ホスト名〓 0x7fccba1fc700
>>> virtualservice_tcp.cpp:1825
>>> 2015/09/28 19:15:37 [DEBUG] l7vsd_virtualservice VSD10700093
>>> active_session.size = 0 〓ホスト名〓 0x7fccba1fc700
>>> virtualservice_tcp.cpp:1828
>>> 2015/09/28 19:15:37 [DEBUG] l7vsd_virtualservice VSD10700094
>>> active_count = 18446744073709551615 〓ホスト名〓 0x7fccba1fc700
>>> virtualservice_tcp.cpp:1831
>>> 2015/09/28 19:15:37 [DEBUG] l7vsd_virtualservice VSD10700095
>>> out_function: void virtualservice_tcp::release_session( const
>>> tcp_session* session_ptr ): session_ptr = 0x1dfc850 〓ホスト名〓
>>> 0x7fccba1fc700 virtualservice_tcp.cpp:1836
>>> 2015/09/28 19:15:37 [DEBUG] l7vsd_virtualservice VSD10700009 
>>> in_function
>>> : void session_thread_control::stopupstream() 〓ホスト名〓
>>> 0x7fccba1fc700 session_thread_control.cpp:229
>>> 2015/09/28 19:15:37 [DEBUG] l7vsd_virtualservice VSD10700010
>>> out_function : void session_thread_control::stopupstream() : status = 0
>>> 〓ホスト名〓 0x7fccba1fc700 session_thread_control.cpp:236
>>>
>>>
>>> 4).その後もう一度1)の通常操作を行うとactive_countが膨大な数になり以後
>>> l7vsdを再起動若しくはバーチャルサービスを消さないかぎりSorryサーバー 
>>> へ流
>>> され続けます
>>>
>>> この時以下のログが出力されました
>>> ----------------------------------------
>>> 2015/09/28 19:16:27 [DEBUG] l7vsd_virtualservice VSD10700027
>>> in_function: void virtualservice_tcp::handle_accept( const
>>> boost::shared_ptr<session_thread_control> , const
>>> boost::system::error_code& err ): err = false, err.message = Success 〓
>>> ホスト名〓 0x7fcc5ea5d700 virtualservice_tcp.cpp:349
>>> 2015/09/28 19:16:27 [DEBUG] l7vsd_virtualservice VSD10700030 Connection
>>> switch Sorry mode. active_session.size = 1, active_count.get =
>>> 18446744073709551615 〓ホスト名〓 0x7fcc5ea5d700 
>>> virtualservice_tcp.cpp:448
>>> 2015/09/28 19:16:27 [DEBUG] l7vsd_virtualservice VSD10700031 active
>>> session thread id = 0x1e1f890 〓ホスト名〓 0x7fcc5ea5d700
>>> virtualservice_tcp.cpp:457
>>> 2015/09/28 19:16:27 [DEBUG] l7vsd_virtualservice VSD10700032
>>> pool_session.size = 49 〓ホスト名〓 0x7fcc5ea5d700
>>> virtualservice_tcp.cpp:460
>>> 2015/09/28 19:16:27 [DEBUG] l7vsd_virtualservice VSD10700033
>>> active_session.size = 1 〓ホスト名〓 0x7fcc5ea5d700
>>> virtualservice_tcp.cpp:463
>>> 2015/09/28 19:16:27 [DEBUG] l7vsd_virtualservice VSD10700034
>>> active_count = 18446744073709551615 〓ホスト名〓 0x7fcc5ea5d700
>>> virtualservice_tcp.cpp:466
>>> 2015/09/28 19:16:27 [DEBUG] l7vsd_virtualservice VSD10700007 
>>> in_function
>>> : void session_thread_control::startupstream() 〓ホスト名〓
>>> 0x7fcc5ea5d700 session_thread_control.cpp:211
>>> 2015/09/28 19:16:27 [DEBUG] l7vsd_virtualservice VSD10700008
>>> out_function : void session_thread_control::startupstream() :status = 1
>>> 〓ホスト名〓 0x7fcc5ea5d700 session_thread_control.cpp:219
>>> 2015/09/28 19:16:27 [DEBUG] l7vsd_virtualservice VSD10700011 
>>> in_function
>>> : void session_thread_control::startdownstream() 〓ホスト名〓
>>> 0x7fcc5ea5d700 session_thread_control.cpp:246
>>> 2015/09/28 19:16:27 [DEBUG] l7vsd_virtualservice VSD10700012
>>> out_function : void session_thread_control::startdownstream() : 
>>> status =
>>> 1 〓ホスト名〓 0x7fcc5ea5d700 session_thread_control.cpp:254
>>> 2015/09/28 19:16:27 [DEBUG] l7vsd_virtualservice VSD10700035 active
>>> session thread id = 0x1e313b0 〓ホスト名〓 0x7fcc5ea5d700
>>> virtualservice_tcp.cpp:512
>>> 2015/09/28 19:16:27 [DEBUG] l7vsd_virtualservice VSD10700036
>>> pool_session.size = 48 〓ホスト名〓 0x7fcc5ea5d700
>>> virtualservice_tcp.cpp:515
>>> 2015/09/28 19:16:27 [DEBUG] l7vsd_virtualservice VSD10700037
>>> active_session.size = 1 〓ホスト名〓 0x7fcc5ea5d700
>>> virtualservice_tcp.cpp:518
>>> 2015/09/28 19:16:27 [DEBUG] l7vsd_virtualservice VSD10700038
>>> active_count = 18446744073709551615 〓ホスト名〓 0x7fcc5ea5d700
>>> virtualservice_tcp.cpp:521
>>> 2015/09/28 19:16:27 [DEBUG] l7vsd_virtualservice VSD10700039
>>> out_function: void virtualservice_tcp::handle_accept( const
>>> boost::shared_ptr<session_thread_control> , const
>>> boost::system::error_code& err ) 〓ホスト名〓 0x7fcc5ea5d700
>>> virtualservice_tcp.cpp:544
>>> 2015/09/28 19:16:27 [DEBUG] l7vsd_virtualservice VSD10700017 
>>> in_function
>>> : l7vs::virtualservice_element& virtualservice_base::get_element() 〓ホ
>>> スト名〓 0x7fccb8dfa700 virtualservice_base.cpp:577
>>> 2015/09/28 19:16:27 [DEBUG] l7vsd_virtualservice VSD10700018 element
>>> struct data, udpmode = TCP, tcp_accept_endpoint = 〓vip〓:80,
>>> udp_recv_endpoint = 0.0.0.0:0, realserver_vector:size = 2,
>>> protocol_module_name = sessionless, schedule_module_name = lc,
>>> protocol_args.size = 1, sorry_maxconnection = 1000, sorry_endpoint =
>>> 〓sorry サーバー〓, sorry_flag = 0, qos_upstream = 15625000,
>>> qos_downstream = 15625000, throughput_upstream = 0,
>>> throughput_downstream = 0, ssl_file_name = , http_total_count = 0,
>>> http_get_count = 0, http_post_count = 0 〓ホスト名〓 0x7fccb8dfa700
>>> virtualservice_base.cpp:626
>>> 2015/09/28 19:16:27 [DEBUG] l7vsd_virtualservice VSD10700019
>>> out_function : l7vs::virtualservice_element&
>>> virtualservice_base::get_element() 〓ホスト名〓 0x7fccb8dfa700
>>> virtualservice_base.cpp:627
>>> 2015/09/28 19:16:27 [DEBUG] l7vsd_virtualservice VSD10700017 
>>> in_function
>>> : l7vs::virtualservice_element& virtualservice_base::get_element() 〓ホ
>>> スト名〓 0x7fccb8dfa700 virtualservice_base.cpp:577
>>> 2015/09/28 19:16:27 [DEBUG] l7vsd_virtualservice VSD10700018 element
>>> struct data, udpmode = TCP, tcp_accept_endpoint = 〓vip〓:80,
>>> udp_recv_endpoint = 0.0.0.0:0, realserver_vector:size = 2,
>>> protocol_module_name = sessionless, schedule_module_name = lc,
>>> protocol_args.size = 1, sorry_maxconnection = 1000, sorry_endpoint =
>>> 〓sorry サーバー〓, sorry_flag = 0, qos_upstream = 15625000,
>>> qos_downstream = 15625000, throughput_upstream = 0,
>>> throughput_downstream = 0, ssl_file_name = , http_total_count = 0,
>>> http_get_count = 0, http_post_count = 0 〓ホスト名〓 0x7fccb8dfa700
>>> virtualservice_base.cpp:626
>>> 2015/09/28 19:16:27 [DEBUG] l7vsd_virtualservice VSD10700019
>>> out_function : l7vs::virtualservice_element&
>>> virtualservice_base::get_element() 〓ホスト名〓 0x7fccb8dfa700
>>> virtualservice_base.cpp:627
>>>
>>> 私の見方が違うかもしれませんが
>>> active_countをインクリメントしている部分をみるとloopしていれば
>>> ログも大量に出力されそうなのですがそうはなっておりません。
>>> https://osdn.jp/projects/ultramonkey-l7/scm/git/ultramonkey-l7-v3/blobs/master/l7vsd/src/virtualservice_tcp.cpp 
>>>
>>>
>>> virtualservice_tcp.cpp 441行目付近のこの部分がおかしくなってますで 
>>> しょうか?
>>> ((0 < element.sorry_maxconnection) && ((active_count.get() >=
>>> static_cast<size_t>(element.sorry_maxconnection)))
>>>
>>>
>>> 長くなりましたが、可能であれば回避する方法をご教授いただけますでしょ 
>>> うか。
>>>
>>> お手数ですが、何卒よろしくお願いいたします。
>>>
>>> -- 
>>> --------------------------------------------
>>> ジグソー株式会社
>>> 小林 年伸
>>> E-mail:toshi****@jig-s*****
>>> Tel:011-737-0240  Fax:011-737-0241
>>> 〒060-0808
>>> 北海道札幌市北区北8条西3丁目32番
>>>
>>> _______________________________________________
>>> Ultramonkey-l7-users mailing list
>>> Ultra****@lists*****
>>> http://lists.osdn.me/mailman/listinfo/ultramonkey-l7-users
>
>


-- 
--------------------------------------------
ジグソー株式会社
小林 年伸
E-mail:toshi****@jig-s*****
Tel:011-737-0240  Fax:011-737-0241
〒060-0808
北海道札幌市北区北8条西3丁目32番




Ultramonkey-l7-users メーリングリストの案内
Back to archive index