Russian Qt Forum
Ноябрь 23, 2024, 20:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 ... 3 4 [5] 6   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Вебсервер: логика маршрутизации  (Прочитано 38727 раз)
alexis031182
Гость
« Ответ #60 : Май 18, 2012, 08:56 »

Признавайтесь, кто присылал на сервер запрос: "/?-s"? Такое не будет работать по определению. Однако всё равно спасибо за тест Улыбающийся

З.Ы. Просьба на тестирование через slow post/header atack по прежнему в силе
Записан
V1KT0P
Гость
« Ответ #61 : Май 18, 2012, 11:03 »

Признавайтесь, кто присылал на сервер запрос: "/?-s"?
Ахаха, кулхацкеры блин =). Дырку в твоем сервере которая позволит выполнить код смогут найти только при наличии у себя копии сервера =). Так что пока не выложишь исполняемый файл, максимум смогут только уронить сервер.
Записан
alexis031182
Гость
« Ответ #62 : Май 18, 2012, 11:31 »

Ахаха, кулхацкеры блин =).
Улыбающийся ну в моём случае это только на пользу. Я бы, честно, и не догадался бы проверить.

Дырку в твоем сервере которая позволит выполнить код смогут найти только при наличии у себя копии сервера =). Так что пока не выложишь исполняемый файл, максимум смогут только уронить сервер.
Пока никто не спрашивал. А так, занялся сайтом для проекта, где и выложу исходники (после реализации поддержки WebSockets; с ними ради эксперимента чтобы работал). Надо будет ещё хотя бы виртуальный сервер купить, а то мои робкие попытки оставить десктоп включенным на ночь автоматически активируют угрозу в виде летящей в монитор или голову сковородки (видели те шумит) Улыбающийся
Записан
alexis031182
Гость
« Ответ #63 : Май 18, 2012, 12:28 »

Пожалуйста отпишитесь о результате теста, кто недавно подключался через прокси. Спасибо
Записан
fuCtor
Гость
« Ответ #64 : Май 18, 2012, 17:03 »

Потестировал под нагрузкой, либо канал узковат, либо машина не самая шустрая, либо сервер не шибко отзывчив:
Код:
Concurrency Level:      10
Time taken for tests:   95.785 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      385000 bytes
HTML transferred:       214000 bytes
Requests per second:    10.44 [#/sec] (mean)
Time per request:       957.847 [ms] (mean)
Time per request:       95.785 [ms] (mean, across all concurrent requests)
Transfer rate:          3.93 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       70  864 1529.4     82    9103
Processing:    71   82   5.8     81     118
Waiting:       71   81   5.7     81     116
Total:        141  946 1529.5    166    9186

В тоже время мой сервер (при тех же параметрах теста) на nginx + Presto (ruby1.9) выдал:
Код:
Requests per second:    242.49 [#/sec] (mean)
Time per request:       41.239 [ms] (mean)
Time per request:       4.124 [ms] (mean, across all concurrent requests)
Transfer rate:          578.04 [Kbytes/sec] received

При увеличении количество параллельных подключений прироста не дало, хотя по идее как минимум подрости должно было:
Код:
Concurrency Level:      500
Time taken for tests:   95.758 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      385000 bytes
HTML transferred:       214000 bytes
Requests per second:    10.44 [#/sec] (mean)
Time per request:       47878.804 [ms] (mean)
Time per request:       95.758 [ms] (mean, across all concurrent requests)
Transfer rate:          3.93 [Kbytes/sec] received
« Последнее редактирование: Май 18, 2012, 17:06 от fuCtor » Записан
fuCtor
Гость
« Ответ #65 : Май 18, 2012, 17:23 »

А вот и SLOW POST:
Код:
 ./slow_http_test --host 78.81.31.38 --path /html/ --slow-post --connections 100
CONNECTIONS: target: 100 started: 0 active: 0 connected: 0 error: 0 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 59 connected: 10 error: 41 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 59 connected: 10 error: 41 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 59 connected: 10 error: 41 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 30 connected: 10 error: 70 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 30 connected: 10 error: 70 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 30 connected: 10 error: 70 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 30 connected: 10 error: 70 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 30 connected: 10 error: 70 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 30 connected: 10 error: 70 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 10 connected: 10 error: 90 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 10 connected: 10 error: 90 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 10 connected: 10 error: 90 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 10 connected: 10 error: 90 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 10 connected: 10 error: 90 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 10 connected: 10 error: 90 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 10 connected: 10 error: 90 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 10 connected: 10 error: 90 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 10 connected: 10 error: 90 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 10 connected: 10 error: 90 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 10 connected: 10 error: 90 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 10 connected: 10 error: 90 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 10 connected: 10 error: 90 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 10 connected: 10 error: 90 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 10 connected: 10 error: 90 startup-fail: 0
CONNECTIONS: target: 100 started: 100 active: 0 connected: 0 error: 100 startup-fail: 0
FINISHED.

Записан
alexis031182
Гость
« Ответ #66 : Май 18, 2012, 17:23 »

У меня сейчас стоял ограничитель на 10 соединений с одного IP. Убрал, попробуйте снова, пожалуйста.
Записан
alexis031182
Гость
« Ответ #67 : Май 18, 2012, 17:31 »

Потестировал под нагрузкой, либо канал узковат, либо машина не самая шустрая, либо сервер не шибко отзывчив:
...
Спасибо, что потестили. Не пойму, почему так медленно Грустный

Хотя у меня всего скорость инета 6 Мбит/сек, то есть 750 Кб/с. Комп - 8 ядерный, с 8 Гб памяти (здесь напрягов не должно быть)
Записан
fuCtor
Гость
« Ответ #68 : Май 18, 2012, 17:37 »

Никаких изменений:
Цитировать
Concurrency Level:      500
Time taken for tests:   95.651 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      385000 bytes
HTML transferred:       214000 bytes
Requests per second:    10.45 [#/sec] (mean)
Time per request:       47825.666 [ms] (mean)
Time per request:       95.651 [ms] (mean, across all concurrent requests)
Transfer rate:          3.93 [Kbytes/sec] received

Может надо посмотреть в событийную модель, те же Nginx, Thin (сервер приложения для ruby) используют libevent внутри себя для организации асинхронного I\O, стараясь как можно меньше блокировать процессы.
Записан
alexis031182
Гость
« Ответ #69 : Май 18, 2012, 17:47 »

Никаких изменений:
...
Может надо посмотреть в событийную модель, те же Nginx, Thin (сервер приложения для ruby) используют libevent внутри себя для организации асинхронного I\O, стараясь как можно меньше блокировать процессы.
Я тоже на событиях сделал. Буду копаться и искать способ, как заставить систему отрабатывать быстрее. Похоже, у меня узкое место, там где я опираюсь на сигнал QTcpSocket о том, что столько-то данных отправлено. Тогда я отправляю новые данные. Надо здесь по-другому тогда как-то. Ещё раз спасибо большое, без тестирования никуда Улыбающийся
Записан
alexis031182
Гость
« Ответ #70 : Май 18, 2012, 18:23 »

Вот результат на локалхосте с 500 конкурирующими запросами:
Код:
ab -n1000 -c500 http://127.0.0.1:8080/html/
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 127.0.0.1 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software:        aweb
Server Hostname:        127.0.0.1
Server Port:            8080

Document Path:          /html/
Document Length:        214 bytes

Concurrency Level:      500
Time taken for tests:   0.633 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      385000 bytes
HTML transferred:       214000 bytes
Requests per second:    1580.69 [#/sec] (mean)
Time per request:       316.317 [ms] (mean)
Time per request:       0.633 [ms] (mean, across all concurrent requests)
Transfer rate:          594.30 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    2   3.7      0      14
Processing:    39   84  25.1     80     287
Waiting:       21   53  19.0     50     268
Total:         39   85  24.7     82     287

Percentage of the requests served within a certain time (ms)
  50%     82
  66%     91
  75%     99
  80%    104
  90%    118
  95%    132
  98%    139
  99%    156
 100%    287 (longest request)
Записан
alexis031182
Гость
« Ответ #71 : Май 18, 2012, 18:25 »

Может скорость так сильно упасть ещё и потому, что у меня комп за роутером сидит? D-Link DIR-300
Записан
Bepec
Гость
« Ответ #72 : Май 18, 2012, 23:11 »

Алексис - проверь исходящую скорость интернета. От входящей она обычно отличается в 2 - 3 раза. (Возможно вы итак это знаете, но попытка не пытка)

Так же ваш роутер (у меня такой же) является дешёвой, корявой, признанной даже разработчиками фуфловой коробочкой Подмигивающий

У меня он лично резал (счас что-то прекратил) примерно 50% пакетов, выдаёт иногда блокировку при использовании потоков(видео, p2p, торренты).

(Кто скажет что он идеально работает - да. А некоторые из них работают 1/2/3/4/5/6/7/n времени нормально, а потом появляются вышеперечисленные проблемы Подмигивающий Так же чуток режет скорость интернета )
Записан
alexis031182
Гость
« Ответ #73 : Май 18, 2012, 23:20 »

Алексис - проверь исходящую скорость интернета. От входящей она обычно отличается в 2 - 3 раза. (Возможно вы итак это знаете, но попытка не пытка)
Не знал, спасибо, обязательно проверю.

Так же ваш роутер (у меня такой же) является дешёвой, корявой, признанной даже разработчиками фуфловой коробочкой Подмигивающий
)))

У меня он лично резал (счас что-то прекратил) примерно 50% пакетов, выдаёт иногда блокировку при использовании потоков(видео, p2p, торренты).

(Кто скажет что он идеально работает - да. А некоторые из них работают 1/2/3/4/5/6/7/n времени нормально, а потом появляются вышеперечисленные проблемы Подмигивающий Так же чуток режет скорость интернета )
Стал замечать в последнее время, что возьмёт, да вырубит доступ к инету минут на 5-10. Ни с того, ни с сего. Я грешил на провайдера сначала. Раньше такого не было, месяца 4 назад купил. И где-то вот с месяц такая фигня стала проявляться. Он мне нужен в принципе только для вайфая. С ним удобно конечно, но раз такие дела, то пожалуй имеет смысл что-то получше купить.
Записан
alexis031182
Гость
« Ответ #74 : Май 19, 2012, 12:48 »

Провёл небольшую оптимизацию кода. Вот результат выполнения 1000 одновременных запросов:
Код:
ab -n1000 -c1000 http://127.0.0.1:8080/html
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 127.0.0.1 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software:        aweb
Server Hostname:        127.0.0.1
Server Port:            8080

Document Path:          /html
Document Length:        214 bytes

Concurrency Level:      1000
Time taken for tests:   0.395 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      385000 bytes
HTML transferred:       214000 bytes
Requests per second:    2529.71 [#/sec] (mean)
Time per request:       395.302 [ms] (mean)
Time per request:       0.395 [ms] (mean, across all concurrent requests)
Transfer rate:          951.11 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    8   5.4      8      18
Processing:    87  220  58.8    223     326
Waiting:       86  219  59.0    222     325
Total:        105  228  55.8    227     339

Percentage of the requests served within a certain time (ms)
  50%    227
  66%    248
  75%    271
  80%    284
  90%    305
  95%    317
  98%    323
  99%    326
 100%    339 (longest request)

Сейчас попробую запустить через внешний адрес без роутера.
Записан
Страниц: 1 ... 3 4 [5] 6   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.051 секунд. Запросов: 20.