Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > HTTP post |
Автор: sergioK1 19.8.2015, 10:53 |
Всем привет, нужна подсказка, Итак есть сервер всем известный Tomcat , к нему конектяться каждые 1,5 секунды, разные андроиды пока их не больше 10, потом может быть больше, шлют обычный post,на сервере стоит spring-controller и принимает эти посты , получив данные он создает файлы размер не больше 25-30K . для каждого клиента своя папка, все идет нормально , но раз в какое то время клиент начинает выдвать socket timeout. В этом случае он кладеться в очередь в в следубщем цикле через 1,5секунды снова шлет данные на сервер, я постваил timeout на 1000мили , но иногда клиент после трез четырех попыток , все равно "проваливает" post.Я это виже в логах клиента, Cобсвенно главный вопрос , в чем пичина сбоя? что не так со связью? есть что-то в настройках сети , из за которых она "устает" причем совершенно спонтанно , куда копать? у кого какие мысли имеються ? |
Автор: AntonSaburov 19.8.2015, 14:35 |
Тут вариантов может быть несколько: 1. Проблема при создании файла 2. Ограничение на количество открытых соектов 3. Сетевые проблемы Каждый надо смотреть отдельно. Я бы для начала выключил запись в файл и нагрузил Томкат большим количеством запросов в течении длительного времени - минут на 30-40. |
Автор: sergioK1 19.8.2015, 15:57 | ||
1. Проблемы с созданием файла нет , тестили, если вдруг она бы появилась , то лог томката сказал бы, тест сделаю , пока начальсво другими задачами грузит ![]() 2, Ограничение на количество открытых сокетов, на клиенте или сервере? кто это ограничение ставит ? хотя я откытый connection не держу у меня он каждый раз закрыветься, утечек нет , может есть тулза проверить ? 3, Сетевые проблемы , а что конкретно ? |
Автор: AntonSaburov 20.8.2015, 10:08 |
1. Значит пока можно убрать 2. На сервере конечно. На том же Linux это можно прописать в конфигах и количество может быть просто крошечным - про Винлду не знаю, но подозреваю, что такое тоже возможно. 3. Например пакеты "зависают" на каком-нибудь маршрутизаторе. В этом случае может оказаться, что даже TCP-конект не утановить. |
Автор: sergioK1 21.8.2015, 18:49 | ||
Ларчик открылся, виснит когда на SIM квота заканчиваеться, добрый провайдер не отключает трафик, а дает его очень медленным, но иногда возникае ситтуация когда сервер сделал все что нужно, а результат все равно socket time out exception . Что тут можно сделать ? |
Автор: LSD 21.8.2015, 21:24 |
Поменять тариф. Что мешает поставить таймаут больше 1000 милисекунд? |
Автор: sergioK1 23.8.2015, 22:01 | ||||
Решили еще проще, перед запуском продасшена, проверяем timeout тот что тормозит просто меняем на исправный, Тут возникла еще одна проблема , после примерно двух суток раьоты сервера, начинает выскакивать
Пока сервер работает без логина, юзер admin нигде не прописан , единсвенное место где есть юзер это файл users.xml с ролью gui (чтобы war загружать), что тут сервер не устраивает ? И почему он вспоминает оюб этом только после двух дней работы а не сразу? В гугле искал еичего внятного не нашел . |
Автор: Samotnik 2.9.2015, 23:54 |
sergioK1, поставь везде логи и смотри, где начнет тупить. Ну это не глубинное решение проблемы, согласись. ![]() |
Автор: LSD 3.9.2015, 13:26 | ||
При чем тут это? Там таймаут на клиенте из-за медленного канала, из-за того что кончился трафик на "безлимитном" тарифе. |
Автор: Samotnik 3.9.2015, 13:34 |
LSD, не все сообщения прочитал, отвечал на первые два) |