Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
responses[connection.fileno()] = response — тут вроде вообще работы с сокетом не наблюдается.response_body = b'Hello, world!'*100000
response = b'HTTP/1.0 200 OK\r\nDate: Mon, 1 Jan 1996 01:01:01 GMT\r\n'
response += b'Content-Type: text/plain\r\nContent-Length: '+str(len(response_body))+b'\r\n\r\n'
response += response_bodyserversocket.listen(50). Результат:$ ab -n 5000 -c 200 http://localhost:8081/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking localhost (be patient)
Completed 500 requests
Completed 1000 requests
Completed 1500 requests
Completed 2000 requests
Completed 2500 requests
Completed 3000 requests
Completed 3500 requests
Completed 4000 requests
Completed 4500 requests
Completed 5000 requests
Finished 5000 requests
Server Software:
Server Hostname: localhost
Server Port: 8081
Document Path: /
Document Length: 1300000 bytes
Concurrency Level: 200
Time taken for tests: 23.696 seconds
Complete requests: 5000
Failed requests: 0
Write errors: 0
Total transferred: 6500530000 bytes
HTML transferred: 6500000000 bytes
Requests per second: 211.01 [#/sec] (mean)
Time per request: 947.830 [ms] (mean)
Time per request: 4.739 [ms] (mean, across all concurrent requests)
Transfer rate: 267903.43 [Kbytes/sec] received
Connection Times (ms)
min mean[±sd] median max
Connect: 0 134 956.2 0 9024
Processing: 136 293 474.7 212 13151
Waiting: 5 213 410.9 180 13140
Total: 137 427 1223.4 212 22161
Percentage of the requests served within a certain time (ms)
50% 212
66% 223
75% 231
80% 236
90% 257
95% 1477
98% 3231
99% 6137
100% 22161 (longest request)

if not data:) то ок.
Как применять Linux epoll в Python