>40 ESTABLISHED, как избавиться?

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by greenmick, 29 Oct 2010.

  1. greenmick

    greenmick New Member

    Joined:
    22 Sep 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Пишу веб-сервер, который обрабатывает запросы сделанные на компе.
    В hosts прописывается ip где висит веб-сервер.
    Если возникает ситуация когда статика на img.domain.com, а динамика на domain.com, то получается, что через мой веб-сервер идут запросы только с domain.com. Это мне и нужно, т.к. статику обрабатывать не надо.

    Но есть одна большая проблема.
    При просмотре сайта через браузер, запросы, что проходят через мой веб-сервер я удачно закрываю и они не висят в ESTABLISHED. А вот картинки, которые идет напрямую к img.domain.com - висят большой кучей ESTABLISHED. А это в свою очередь приводит у тому, что невозможно создать нвое соединение с удаленным серверов, т.к. скапливается более более 40 ESTABLISHED.

    При просмотре сайте без моего веб-сервера идут скачики до 30 ESTABLISHED, но потом резко падает до 10-15 и грузится дальше.
    Такое ощущение, что браузер просматривает tcp_table и убивает те соединения, которые свое отработали, но почему он этого не делает, когда статика на прямую, а динамика - через мой веб-сервер?

    Как решение проблемы написал уничтожитель tcp соединений ESTABLISHED каждые 3 сек. Всё бы хорошо, но скачать большой файл при таком раскладе - не реально )

    Как решить эту проблему с кучей ESTABLISHED на статике?

    Кстати, такая хрень только с vkontakte, на нормальных сайтах всё работает как надо.
     
    #1 greenmick, 29 Oct 2010
    Last edited: 29 Oct 2010