Здравствуйте!
У меня возникла следующая проблема: я решил написать клиент-серверное приложение. однако, практически закончив работу, я обнаружил, что даже по локальной сети клиент тормозит (если на одном компе и клиент и сервер-не тормозит). При этом клиент посылает серверу и наоборот по насколько килобайт в секунду. Вроде бы не так уж и много. Из-за чего может быть торможение?
04.06.07 12:08: Перенесено модератором из 'Java' — Blazkowicz
Здравствуйте, Dima-amiD, Вы писали:
DA>Здравствуйте! DA>У меня возникла следующая проблема: я решил написать клиент-серверное приложение. Из-за чего может быть торможение?
Я думаю это магнитные бури возбуждают стоячую волну в ethernet кабеле, что и "затормаживает" передачу мегабайтов. Килобайты пролазят.
Здравствуйте, Dima-amiD, Вы писали:
DA>У меня возникла следующая проблема: я решил написать клиент-серверное приложение. однако, практически закончив работу, я обнаружил, что даже по локальной сети клиент тормозит (если на одном компе и клиент и сервер-не тормозит). При этом клиент посылает серверу и наоборот по насколько килобайт в секунду. Вроде бы не так уж и много. Из-за чего может быть торможение?
DNS?
а вообще, чтобы не гадать, стоит взять в руки сниффер типа ethereal и посмотреть, какую сетевую активность проявляет твой клиент, прежде чем проходит его сообщение до сервера
Здравствуйте, C0s, Вы писали:
C0s>Здравствуйте, Dima-amiD, Вы писали:
DA>>У меня возникла следующая проблема: я решил написать клиент-серверное приложение. однако, практически закончив работу, я обнаружил, что даже по локальной сети клиент тормозит (если на одном компе и клиент и сервер-не тормозит). При этом клиент посылает серверу и наоборот по насколько килобайт в секунду. Вроде бы не так уж и много. Из-за чего может быть торможение?
C0s>DNS?
Наврядли DNS, проблема то в скорости передачи. Скорее всего неоптимальный алгоритм работы с передачей данных (например отсутствует какойнить BufferedInputStream). Но на это может ответить только профайлер и потом возможно сниффер.
Здравствуйте, aka50, Вы писали:
A>Наврядли DNS, проблема то в скорости передачи.
Почему? Очень даже может быть. На прошлой работе было подобное из-за dns при использовании SOAP веб-сервисов. Помнится, сущая банальность — dtd-описание или schema, не помню точно, resolve-лась долго. А из-за этого все тормозилось.
Автор не озвучил никакой конкретики, к чему вообще гадать на кофейной гуще?
Здравствуйте, rsn81, Вы писали:
R>Здравствуйте, aka50, Вы писали:
A>>Наврядли DNS, проблема то в скорости передачи. R>Почему? Очень даже может быть. На прошлой работе было подобное из-за dns при использовании SOAP веб-сервисов. Помнится, сущая банальность — dtd-описание или schema, не помню точно, resolve-лась долго. А из-за этого все тормозилось.
DNS дает торможение при запрос/ответ. Когда говориться "передаются килобайты, а на localhost не мегабайты" я быстрее предпочту вариант с передачей мелкими порциями чем dns.
R>Автор не озвучил никакой конкретики, к чему вообще гадать на кофейной гуще?
А вообще да... что-то мы увлеклись... мне вариант про волну больше нравиться , правдоподобнее
Здравствуйте, Dima-amiD, Вы писали:
DA>Здравствуйте! DA>У меня возникла следующая проблема: я решил написать клиент-серверное приложение. однако, практически закончив работу, я обнаружил, что даже по локальной сети клиент тормозит (если на одном компе и клиент и сервер-не тормозит). При этом клиент посылает серверу и наоборот по насколько килобайт в секунду. Вроде бы не так уж и много. Из-за чего может быть торможение?
Возможно, что проблема возникла из-за использования TCP протокола. Если это так, то в Вашем случае будет уместно использовать UDP протокол.
Здравствуйте, LDD, Вы писали:
LDD>Возможно, что проблема возникла из-за использования TCP протокола. Если это так, то в Вашем случае будет уместно использовать UDP протокол.
Здравствуйте, aka50, Вы писали:
DA>>Здравствуйте! DA>>У меня возникла следующая проблема: я решил написать клиент-серверное приложение. Из-за чего может быть торможение? A>Я думаю это магнитные бури возбуждают стоячую волну в ethernet кабеле, что и "затормаживает" передачу мегабайтов. Килобайты пролазят. A>Как правильно задавать вопросы
Я после таких просьб все время рассказ "Наш BOFH" вспоминаю:
"Здравствуйте, я не могу прочесть информацию на нескольких дискетах. У меня там заготовки статей, почти готовая диссертация. А через неделю у меня защита." И угораздит же некоторых!
Смотрю на картотеку отговорок — на верхнем листе сегодня "МАГHИТHЫЕ ПОЛЯ ОТ ПЕРИФЕРИЙHЫХ УСТРОЙСТВ". Пусть это будет, скажем, мышь.
"Взгляните на провод Вашей мыши — он выпрямлен?"
"Нет..."
"Тогда всё ясно, по проводу течёт ток, в нём наводится магнитное поле, как в электромагните. Вы замечали, что в электромагнитах используют именно катушки из провода?" Он не замечал, но верит.
"А что же мне делать?"
"Выдернуть мышь, и чем скорее, тем лучше."
"Но я работаю в Windows..."
"Тогда держите провод мыши прямым. У вас же есть свободная левая рука."
Он замолкает, пытаясь, видимо, представить себе эту картину. Я продолжаю лекцию.
"И взгляните заодно, что у Вас с остальными кабелями. Если они не выпрямлены, то это фатально для информации." Так и хочется добавить, что биты искривляются. Впрочем, зачем же сдерживаться? "Ведь при этом биты искривляются."
"Прошу прощения", — проявляет он остатки интеллигентности, — "а что такое биты?"
Ладно, ладно, уж если "прошу прощения", то я не буду заставлять его подвешивать аппаратуру за кабели к стене, чтобы кабели всегда были прямыми.
"Бит есть элементарная единица количества информации, именно биты хранятся на Ваших дискетах."
Dumb mode on, но что толку, как сказал кто-то умный.
"А как же они могут искривляться?" — удивляется он. "Я кандидат физико-математических наук, и знаю, что происходит в проводах."
А вот это уже наглость.
"Ну что ж, я всё же дам Вам совет — попробуйте согнуть кабель от клавиатуры посильнее, и набейте что-нибудь", — советую я, запуская один из своих любимых вирусов.
Через несколько секунд он уже смиренно просит сделать хоть что-нибудь, чтобы спасти его компьютер.
"Есть только один выход — держать все кабели постоянно прямыми. Лучший способ — подвесить все периферийные устройства за их кабели к стене."
Я с удовлетворением слушаю стук забиваемых гвоздей, а затем полновесные удары аппаратуры об пол, и, наконец, сочный взрыв монитора. Я тихо вешаю трубку. Так будет с каждым... И туда им и дорога!
C>А эту ветку, пожалуй, надо в КУ переместить
Эт точно... ибо ведь еще кто прочитает "Возможно, что проблема возникла из-за использования TCP протокола. Если это так, то в Вашем случае будет уместно использовать UDP протокол." и может и врпямь подумать, что надо срочно на UDP переходить (без анализа, а собственно в чем проблема и нахрен человеку udp)