2016-04-15 15 views
0

私は今ejabberdのバックエンドとしてのRedisを使用しています How to scale ejabberd Server machine on CentOS to handle 200 K connections?Redisと組み合わせてejabberdがクラッシュする理由は何ですか?

使用して百万人以上のユーザーに拡張することができました。

000000後のユーザーが、私は次のエラーを取得しています:

2016-04-15 12:50:24 =ERROR REPORT==== 
** State machine <0.24986.34> terminating 
** Last event in was {xmlstreamelement,{xmlel,<<"iq">>,[{<<"type">>,<<"set">>},{<<"id">>,<<"820919">>}],[{xmlel,<<"bind">>,[{<<"xmlns">>,<<"urn:ietf:params:xml:ns:xmpp-bind">>}],[{xmlel,<<"resource">>,[],[{xmlcdata,<<"tsung">>}]}]}]}} 
** When State == wait_for_bind 
**  Data == {state,{socket_state,gen_tcp,#Port<0.418817>,<0.24984.34>},ejabberd_socket,#Ref<0.0.36.113046>,false,<<"2087913259">>,undefined,c2s,c2s_shaper,false,true,false,false,[verify_none,compression_none,{protocol_options,<<"no_sslv3">>},{certfile,<<"/opt/ejabberd-15.11/conf/ejabberd.pem">>}],true,undefined,<<"mac52944bec562c9c82eae8e818abdea7e4b">>,<<"ejabberd-benchmark">>,<<>>,{{1460,704802,37025},<0.24986.34>},{pres_t,0},{pres_f,0},{pres_a,0},undefined,undefined,{userlist,none,[],false},unknown,ejabberd_auth_external,{{10,245,32,24},29307},[],active,[],inactive,undefined,undefined,1000,undefined,300,300,true,0,0,<<>>} 
** Reason for termination = 
** {timeout,{gen_server,call,[ejabberd_redis_client,{request,[[<<"*">>,"2",<<"\r\n">>],[[<<"$">>,"7",<<"\r\n">>,<<"HGETALL">>,<<"\r\n">>],[<<"$">>,"67",<<"\r\n">>,<<"ejabberd:sm:[email protected]">>,<<"\r\n">>]]]},20000]}} 

答えて

1

このエラーは、単にあなたのシステムが飽和していることを意味します。それだけで何かを意味するものではありません。 ユースケースのボトルネックを見つけるために分析する必要があります。プラットフォームを調整し、おそらくコードを最適化してください。

関連する問題