Page 1 of 2

https

Posted: Sat Sep 17, 2011 10:56 pm
by SoUrcerer
Вы, наверное, мне не поверите, но он работает. Сервер на Колибри. Отдает файлы как положено. Из той папки, какую сказано отдавать. Статистику ведет. Я потрясен.

Re: https

Posted: Sat Sep 17, 2011 11:06 pm
by SoUrcerer
Проверяю. Аптайм около 5 минут, 200 кбайт трафика передано. Форум работает, статистика работает. Сервер смотрит в локальную сеть, пинги 10-20 мс.

Re: https

Posted: Sat Sep 17, 2011 11:27 pm
by SoUrcerer
Использовал версию 0.7.7.0, в ночной сборке проблемы с сетью еще не прошли, как я понимаю. Сервер продержался около 10 минут, выдержал 1000 пингов, а затем стал отбиваться ошибкой socket_open_tcp fail (сокеты закончились что ли? О_о). Перезапуск сервера ничего не дает. Попробую свежую ночную сборку.

Re: https

Posted: Sat Sep 17, 2011 11:49 pm
by Mario
Нет, пока лажа с мьютексами не исправлена бессмысленно тестировать.

Re: https

Posted: Sat Sep 17, 2011 11:59 pm
by SoUrcerer
Проверяю на ночной сборке. Без нагрузки пинги летят очень быстро.
Включил нагрузку - постоянное обновление TinyStat и TinyBoard, как только страница загружается.
Пинги поднимаются порой до 500 мс (напомню, локальная сеть). Согласно логам, часть пакетов сервером постепенно перестает обрабатываться (tcp dumped). Обновление форума и статистики сначала занимало доли секунды. По отдельности загружается примерно за 0,6с, вместе запрос на TinyStat обрабатывается за 1-2с, а на TinyBoard - от 2 до 16 секунд (иногда бывают "the connection has timed out"). На доске отладки все чаще появляется информация о невозможности открыть сокет.

Сервер поднят двадцать минут.
64 bytes from 192.168.56.101: icmp_req=1149 ttl=64 time=292 ms
64 bytes from 192.168.56.101: icmp_req=1150 ttl=64 time=320 ms
64 bytes from 192.168.56.101: icmp_req=1151 ttl=64 time=406 ms
64 bytes from 192.168.56.101: icmp_req=1152 ttl=64 time=621 ms
64 bytes from 192.168.56.101: icmp_req=1153 ttl=64 time=425 ms
64 bytes from 192.168.56.101: icmp_req=1154 ttl=64 time=344 ms
64 bytes from 192.168.56.101: icmp_req=1155 ttl=64 time=416 ms
64 bytes from 192.168.56.101: icmp_req=1156 ttl=64 time=18.3 ms
64 bytes from 192.168.56.101: icmp_req=1157 ttl=64 time=657 ms
64 bytes from 192.168.56.101: icmp_req=1158 ttl=64 time=147 ms
64 bytes from 192.168.56.101: icmp_req=1159 ttl=64 time=603 ms
--- 192.168.56.101 ping statistics ---
1187 packets transmitted, 1187 received, 0% packet loss, time 1187548ms
rtt min/avg/max/mdev = 3.647/205.394/2100.475/268.631 ms, pipe 3
HTTP-Сервер v 0.6 для KolibriOS

Статистика: (после данного запроса)

- Документов принято: 000000926
- Байт переданно : 000472396
Загрузка процессора по версии CPU в VirtualBox: https около 12%, board около 25%.

...Сервер работает 24 минуты. Из двух запросов, пришедших в течение секунды, обрабатывается только один.
Доктор, это болеет https или сетевой стек?

Re: https

Posted: Sun Sep 18, 2011 12:01 am
by SoUrcerer
Mario wrote:Нет, пока лажа с мьютексами не исправлена бессмысленно тестировать.
На работу https это видимо не повлияло. Пробовал 2084ю ревизию.

Re: https

Posted: Sun Sep 18, 2011 12:19 am
by Mario
Вот не факт! Вот тебе к примеру два файла от ya.ru для сравнения что выдают рабочее и больное ядрышки:
ya.ru.7z

Re: https

Posted: Sun Sep 18, 2011 12:26 am
by Mario
Да и если уж так интересно поэкспериментировать, то вот ядро собранное из последнего SVN + откат к старым socket.inc и tcp.inc из ревизии 2123, когда еще сеть работала субъективно нормально.
kernel.7z

Re: https

Posted: Sun Sep 18, 2011 12:45 am
by SoUrcerer
Спасибо! Попробую утречком, надеюсь. Оказывается, я проверял https на ядре 0.7.7.0 и 2084м, а на более новых - не проверял.

Re: https

Posted: Sun Sep 18, 2011 2:42 am
by Mario
Ядро поправлено,так что лучше тестируй на последней сборке. Хотя можешь и это для разнообразия погонять.

Re: https

Posted: Sun Sep 18, 2011 8:01 am
by SoUrcerer
Ночная сборка 2208. Аптайм 32 минуты.
1923 packets transmitted, 1923 received, 0% packet loss, time 1924926ms
rtt min/avg/max/mdev = 0.409/49.085/354.340/52.903 ms
HTTP-Сервер v 0.6 для KolibriOS

- Документов принято: 000003131
- Байт переданно : 001549568
Есть некоторое количество неудачных открытий сокетов, но вроде все нормально. По версии VirtualBox, загрузка процессора HTTPS от 2 до 14 процентов, board - от 5 до 30. Сейчас попробую массово отправлять сообщения на форум.

Re: https

Posted: Sun Sep 18, 2011 8:12 am
by SoUrcerer
Сервер продержался запущенным 40 минут. Я начал активно постить сообщения в форум (1 в секунду), и место на rd быстро кончилось, да так, что форма для ответа в файл board.htm не поместилась. Стал активно удалять ненужное с rd - и boardlog занял 600 кб, пришлось доску отладки выключить. Приостановить сервер для удаления board.htm (он же должен перезаписаться!) я не догадался, удалил в процессе работы сервера - и сервер упал и не захотел подниматься. Отрабатывать 4 запроса одновременно у сервера не получается, не то процессорного времени не хватает, не то он как-то не так работает.

upd: реально страница форума TinyBoard загружается дольше, моя спамилка отправляет только 1 запрос в 12 секунд. А ведь у GridWorks вроде бы на Колибри (точнее, Menuet) сервер работал...

------

Эксперимент продолжается. На 30й минуте завис Firefox со страничкой-спамилкой :D Да не какой-нибудь 6й, а самый что ни на есть Iceweasel 3.5 из debian-stable.
HTTP-Сервер v 0.6 для KolibriOS

Статистика: (после данного запроса)

- Документов принято: 000001323
- Байт переданно : 005490518
- Местонахождение : Статистика

Гостевая:

- Сообщений : 000000142
- Размер в байтах : 000030066
- Местонахождение : Гостевая

09:43:18
18.09.11
Пинги летят:
64 bytes from 192.168.56.101: icmp_req=2171 ttl=64 time=22.3 ms
64 bytes from 192.168.56.101: icmp_req=2172 ttl=64 time=20.9 ms
64 bytes from 192.168.56.101: icmp_req=2173 ttl=64 time=18.1 ms
64 bytes from 192.168.56.101: icmp_req=2174 ttl=64 time=65.2 ms
64 bytes from 192.168.56.101: icmp_req=2175 ttl=64 time=70.6 ms
64 bytes from 192.168.56.101: icmp_req=2176 ttl=64 time=15.0 ms
64 bytes from 192.168.56.101: icmp_req=2177 ttl=64 time=21.7 ms
64 bytes from 192.168.56.101: icmp_req=2178 ttl=64 time=18.6 ms
64 bytes from 192.168.56.101: icmp_req=2179 ttl=64 time=18.4 ms
64 bytes from 192.168.56.101: icmp_req=2180 ttl=64 time=16.9 ms
Освободил на рамдрайве около 1 мегабайта. Board.htm сейчас занимает 30 килобайт. Пойду погуляюНавещу свою выздоравливающую девочку в больничке, и затем отпишусь о результатах эксперимента.

----

upd: и ждать не пришлось. На примерно 200м сообщении в форуме (40 минут аптайма) сервер умер. Пинги идут, а https не отвечает, выводит ошибку socket_open_tcp (80B56000) net_socket_free (80B56000) socket_open_tcp(fail). ЗаDDoSил :D

Re: https

Posted: Sun Sep 18, 2011 6:58 pm
by SoUrcerer
Новые опыты. Версия 0.7.5.0. Сетевой стек гораздо стабильнее, похоже. Аптайм 2+ часа, и пока что (тьфу-тьфу) работает.
Размер файла board.htm достиг 50161 байта, сервер передает только первые 50000 байт из этого файла, так что спамилка больше не работает :(
Раз в час примерно система (Колибри) подвисает, видимо, из-за HTTPS или еще чего-то. Пинги не проходят, мышь еле шевелится. Впервые у меня такое было, когда я открыл доску отладки и запросил по сети boardlog.txt. Не знаю, как в новых версиях, но надеюсь, что такого нет. Попробую повторить тот же трюк.
upd: Все проще, кажется. В 0.7.5.0 зависания происходят, когда обрывается соединение со стороны клиента. Ночную сборку попробую обязательно, но пока сервер работает, не хочу его перезагружать.
С пингами все печальнее:
--- 192.168.56.101 ping statistics ---
1867 packets transmitted, 1608 received, +152 errors, 13% packet loss, time 1870108ms
rtt min/avg/max/mdev = 1.179/7862.327/190508.669/30181.161 ms, pipe 190
Зато статистика сервера самая крутая:
HTTP-Сервер v 0.6 для KolibriOS

Статистика: (после данного запроса)

- Документов принято: 000002224
- Байт переданно : 057686297
- Местонахождение : Статистика

Гостевая:

- Сообщений : 000000243
- Размер в байтах : 000050000
- Местонахождение : Гостевая

19:55:18
18.09.11

ВЫВОД: С https все нормально, проблемы недоступности сервера (открытия сокетов) - в ядре.

Re: https

Posted: Sun Sep 18, 2011 8:52 pm
by SoUrcerer
В ночной сборке (r2208) субъективно загрузка процессора меньше раза в два, скорость реагирования выше в несколько раз, и вместо зависания всей системы при обрыве соединения со стороны клиента задумывается только https. Перезапуск https не помогает.
Пока не будет ясно, чем вызваны проблемы с сетью, и эти проблемы не будут исправлен, Колибри использовать в качестве сервера нельзя. :(

Re: https

Posted: Sun Sep 18, 2011 10:33 pm
by Mario
SoUrcerer wrote:В ночной сборке (r2208) субъективно загрузка процессора меньше раза в два, скорость реагирования выше в несколько раз
Serge уже отписался же.
SoUrcerer wrote:Пока не будет ясно, чем вызваны проблемы с сетью, и эти проблемы не будут исправлен, Колибри использовать в качестве сервера нельзя.
Не знаю - сетевые технологии не совсем моя стихия, опыта очень мало.