thedax
thedax

Reputation: 131

CherryPy web server chokes on 50 concurrent users

I have a Cherrypy webserver that runs fine UNTIL it gets more then 50 concurrent users. Then the web server does not respond any more and times out at the web client.

This happens with plain static super lightweight HTML4 pages (and with complex website code with javascript code enabled). It does not matter what..... it chokes after it reaches >50 concurrent users or so.

Please understand that the web server is a Linux machine (Ubuntu 22.04/Cherrypy 18.9) with lots or resources left over (CPU idle time =99%, network bandwith util less <2%, no errors in dmesg or other Linux logs, number of open files, file descr and user procs >1234567 and enough free mem).

When the web server chokes, the Linux server instance itself still works like a charm and is responsive in plain login and scp copy operations (nor does top reveal performance problems).

The whole setup does not use cookies or sessions.

This is my config file for the webserver:

[global]
server.socket_host:'doesnotmatternow.com'
server.socket_port:443
server.socket_timeout:10
server.socket_queue_size:150
server.accepted_queue_size:-1
server.accepted_queue_timeout:10
server.thread_pool:500
server.thread_pool_max:-1
server.ssl_module:'builtin'
server.show_tracebacks:False
server.request.error_response:'handle_error'
response.stream:False

The questions I have:

  1. Are there other or better options to set?

  2. Does anybody have a Cherrypy webserver that performs well with more the 50 concurrent users (only serving static HTML pages)?

There are other options but those relate to SSL certificates and are left away for simplicity.

NOTE: I already have looked at the CherryPy and concurrency and Python web server (CherryPy) scaling concurrent requests on AWS (and other links/hints) but that does not help me.

Upvotes: 0

Views: 21

Answers (0)

Related Questions