-
Notifications
You must be signed in to change notification settings - Fork 429
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
possible traffic shaping or throttling issues with custom module #2982
Comments
Hi! When debugging performance issues, open mongooseim shell (i.e. Processes with the longest queue: rp([{Len, case erlang:process_info(TopPid, registered_name) of {_,X} -> X; _ -> TopPid end, erlang:process_info(TopPid, current_stacktrace)} || {Len, TopPid} <- lists:sublist(lists:reverse(lists:keysort(1, [{try element(2,erlang:process_info(Pid, message_queue_len)) + proplists:get_value('$internal_queue_len', element(2, erlang:process_info(Pid, dictionary)), 0) catch _:_ -> -1 end, Pid} || Pid <- erlang:processes()])), 20)]). Processes, consuming the most memory: rp(lists:reverse([{Len, case erlang:process_info(TopPid, registered_name) of {_,X} -> X; _ -> TopPid end, erlang:process_info(TopPid, current_stacktrace)} || {Len, TopPid} <- lists:sublist(lists:reverse(lists:keysort(1, [{try element(2,erlang:process_info(Pid, memory)) catch _:_ -> -1 end, Pid} || Pid <- erlang:processes()])), 20)])). And post the results of the both commands here. |
I'm not having a lot of luck in deciphering the output but here is what I have. This was 90 bot clients and three of our regular client apps logged in to confirm messages weren't getting thru. ([email protected])14> rp([{Len, case erlang:process_info(TopPid, registered_name) of {_,X} -> X; _ -> TopPid end, erlang:process_info(TopPid, current_stacktrace)} || {Len, TopPid} <- lists:sublist(lists:reverse(lists:keysort(1, [{try element(2,erlang:process_info(Pid, message_queue_len)) + proplists:get_value('$internal_queue_len', element(2, erlang:process_info(Pid, dictionary)), 0) catch : -> -1 end, Pid} || Pid <- erlang:processes()])), 20)]). |
MongooseIM version: 3.7.1
Installed from: src
Erlang/OTP version: EPEL - 03.18.el7
Finding issues with a mongooseIM install that we are looking to put into production. We currently have a jabberd2 XMPP server as a backend to a custom alert client for only ~2000 users.
In testing the mongooseIM replacement, all functions of our alert systems seem to work fine for a low number of users, around ~20, but we quickly run into issues with users above 30 or so logged in.
The system seems to become unresponsive around the API endpoint responses, running on port 8088. It really seems like a throttled response but I can't find where to open that up and have removed or raised every throttle with no response.
Config is attached.
mongooseim.cfg.zip
The text was updated successfully, but these errors were encountered: