My service has been updated to Node.js v6.9.4, and the connection of 
Socket.io is now disconnected frequently.

It was not reproduced in the development environment and decided to recover 
by returning to the state before updating.


Is this problem only with certain versions?

Will updating to the latest Node.js solve the problem?


Thank you for your cooperation.


   - Update versions
      - [email protected] → 6.9.4
      - [email protected] → 1.7.2
      - [email protected] → 4.14.0
      - [email protected] → 1.15.2
      - [email protected] → 3.1.1
      - [email protected] → 9.9.1
   

   - State at disconnection
      -  The number of connections is about 200.  (The number of 
      connections before updating is about 20,000.)
      - After 1 or 2 hours of reconnecting, the connection was disconnected.
      - There was no abnormality in CPU load and memory usage of Node.js 
      server and load balancer (Pound).
      - About the log of the browser (devtools)
   
The response time of the request (polling) before disconnection was 85 sec, 
and "400 Bad request" error was output in the next request. 

(The response time in the normal state is 25 sec)


   -  About server log
         - There was no clue in the log of Node.js.
         - The following error was output to the pound.log, but the causal 
         relation is unknown.
      
pound: (7f8592ce7700) e501 bad request "HQ" from xxx.xxx.xxx.xxx

pound: (7f84cdbe5700) BackEnd yyy.yyy.yyy.yyy:9443 dead (killed)

※ "xxx.xxx.xxx.xxx" or "yyy.yyy.yyy.yyy" is the IP address.


   - Infrastructure information
   
  Browser ─[ HTTPS ]─ Load balancer(Pound) ─[ HTTP ]─┬─  Node.js Server 1

                                                                            
                      ├─  Node.js Server 2

                                                                            
                      ├─  Node.js Server 3

                                                                            
                      └─  Node.js Server 4


   - The connection between the browser and the Node server is maintained 
      by polling. (Not WebSocket
      - The Node application sends an HTTP request to another server
      - Load Balancer
   
OS: CentOS 6.6

Middleware for load balancing: pound ver.2.6

OS setting change point:

  - Set the maximum number of usable processes to 100,000.

  - Set the limit number of file descriptors to 100,000.

  - Set memory map limit of pthread to 200,000.

  - Set the maximum number of threads to 100,000.


   - Node.js Server
   
OS: CentOS 6.6

OS setting change point:

  - Set the limit number of file descriptor to 100,000

 


-- 
Job board: http://jobs.nodejs.org/
New group rules: 
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/nodejs/5759995c-9dda-4e85-9305-e43621f56095%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to