Сможет ли PHP демон держать тысячи соединений с флеш клиентом?

uaperson

Новичок
Сможет ли PHP демон держать тысячи соединений с флеш клиентом?

Сможет ли PHP демон держать тысячи постоянных соединений с флеш клиентом? и какая при этом будет примерная нагрузка?
стоит ли делать серверную часть для постоянных соединений на PHP? или не пойдет?
 

440hz

php.ru
сможет

-~{}~ 11.05.10 18:11:

Код:
ab -c 1000 -n 100000 [url]http://127.0.0.1:8006/daemon-status[/url]
...
Server Software:        HTTPServer/1.0
Server Hostname:        127.0.0.1
Server Port:            8006

Document Path:          /daemon-status
Document Length:        365 bytes

Concurrency Level:      1000
Time taken for tests:   81.349618 seconds
Complete requests:      100000
Failed requests:        33796
   (Connect: 0, Length: 33796, Exceptions: 0)
Write errors:           0
Total transferred:      60033796 bytes
HTML transferred:       36533796 bytes
Requests per second:    1229.26 [#/sec] (mean)
Time per request:       813.496 [ms] (mean)
Time per request:       0.813 [ms] (mean, across all concurrent requests)
Transfer rate:          720.67 [Kbytes/sec] received
Requests per second: 1229.26 [#/sec] (mean)


Код:
 curl [url]http://127.0.0.1:8006/daemon-status[/url]
...
"CONNECTIONS":133844,
"CONNECTIONS_MAX":549,
"ERRORS_READ":38,
"ERRORS_READ_EOF":38,
"ERRORS_READ_ERROR":0,
"ERRORS_READ_TIMEOUT":0,
"ERRORS_WRITE":0,
"ERRORS_WRITE_EOF":0,
"ERRORS_WRITE_ERROR":0,
"ERRORS_WRITE_TIMEOUT":0,
"BUFFERLENGHT":2048,
"DBPOOL_CNT":2,
"DBPOOL_CNT_FREE":2,
"DBPOOL_CNT_BISY":0
 

uaperson

Новичок
Автор оригинала: 440hz
сможет

-~{}~ 11.05.10 18:11:

Код:
ab -c 1000 -n 100000 [url]http://127.0.0.1:8006/daemon-status[/url]
...
Server Software:        HTTPServer/1.0
Server Hostname:        127.0.0.1
Server Port:            8006

Document Path:          /daemon-status
Document Length:        365 bytes

Concurrency Level:      1000
Time taken for tests:   81.349618 seconds
Complete requests:      100000
Failed requests:        33796
   (Connect: 0, Length: 33796, Exceptions: 0)
Write errors:           0
Total transferred:      60033796 bytes
HTML transferred:       36533796 bytes
Requests per second:    1229.26 [#/sec] (mean)
Time per request:       813.496 [ms] (mean)
Time per request:       0.813 [ms] (mean, across all concurrent requests)
Transfer rate:          720.67 [Kbytes/sec] received
Requests per second: 1229.26 [#/sec] (mean)


Код:
 curl [url]http://127.0.0.1:8006/daemon-status[/url]
...
"CONNECTIONS":133844,
"CONNECTIONS_MAX":549,
"ERRORS_READ":38,
"ERRORS_READ_EOF":38,
"ERRORS_READ_ERROR":0,
"ERRORS_READ_TIMEOUT":0,
"ERRORS_WRITE":0,
"ERRORS_WRITE_EOF":0,
"ERRORS_WRITE_ERROR":0,
"ERRORS_WRITE_TIMEOUT":0,
"BUFFERLENGHT":2048,
"DBPOOL_CNT":2,
"DBPOOL_CNT_FREE":2,
"DBPOOL_CNT_BISY":0
а почему >30% запросов с ошибками? это разве нормально?
 

440hz

php.ru
это ab косит. там по мере вызовов отдается контент разной длины, что и понятно. там счетчики увеличиваются. ошибки только на длину.
 

440hz

php.ru
80% вообще класс
я ж тебе говорю. ошибка размера отдаваемого контента. страница отдается разная. это не ошибки протокола или данных

надо ж понимать что происходит, а не тупо смотреть.
 

Long

Новичок
надо отметить что это не самая мощная машинка на тесте использована
 

440hz

php.ru
вот чистый тест с одинаковым контентом отдачи + работа с БД пулом

Код:
ab -c 1000 -n 100000 [url]http://127.0.0.1:8006/user/?guid=d0ef5116-8fac-102d-8619-00508dbe6ee5[/url]
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, [url]http://www.zeustech.net/[/url]
Copyright 2006 The Apache Software Foundation, [url]http://www.apache.org/[/url]

Benchmarking 127.0.0.1 (be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Finished 100000 requests


Server Software:        HTTPServer/1.0
Server Hostname:        127.0.0.1
Server Port:            8006

Document Path:          /user/?guid=d0ef5116-8fac-102d-8619-00508dbe6ee5
Document Length:        1128 bytes

Concurrency Level:      1000
Time taken for tests:   62.907298 seconds
Complete requests:      100000
Failed requests:        0
Write errors:           0
Total transferred:      136400000 bytes
HTML transferred:       112800000 bytes
Requests per second:    1589.64 [#/sec] (mean)
Time per request:       629.073 [ms] (mean)
Time per request:       0.629 [ms] (mean, across all concurrent requests)
Transfer rate:          2117.45 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0  114 1251.9      0   45002
Processing:     3    9 123.1      5   15133
Waiting:        2    7 123.2      3   15132
Total:          3  123 1283.3      5   51827

Percentage of the requests served within a certain time (ms)
  50%      5
  66%      5
  75%      5
  80%      5
  90%      5
  95%      6
  98%   3004
  99%   3005
 100%  51827 (longest request)
статистка демона

Код:
curl [url]http://127.0.0.1:8006/daemon-status[/url]
...
"CONNECTIONS":100077,
"CONNECTIONS_MAX":364,
"ERRORS_READ":71,
"ERRORS_READ_EOF":71,
"ERRORS_READ_ERROR":0,
"ERRORS_READ_TIMEOUT":0,
"ERRORS_WRITE":0,
"ERRORS_WRITE_EOF":0,
"ERRORS_WRITE_ERROR":0,
"ERRORS_WRITE_TIMEOUT":0,
"BUFFERLENGHT":2048,
...
 
Сверху