Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.01.05;
Скачать: [xml.tar.bz2];

Вниз

Очень медленно предаются данные запроса по сети   Найти похожие ветки 

 
Delf   (2003-12-02 16:34) [0]

Ситуация такая:
Два сегмента сети соиденены модемами скорость передачи данных между ними низкая. На одном конце находится MSSql-сервер на другом моя прога
Если запрос написать не из Дельфы то результат запроса возвращается за 14 секунд(2500 записей).
А эсли тот же запрос передать из Дельфы то ждать приходится полторы минуты.
Прога большая и все DataSet привязаны к одному ADOConnection
Пробовал тот же запрос виполнить через другой ADOConnection то результат пришел через 18 секунд.Но стоит к этому ADOConnection подцепить еще один dataSet и опять начинаются тормоза
В чем дело? Может я ADOConnection не правильно настроил?


 
Delirium   (2003-12-02 17:02) [1]

Смотри CursorLocation


 
Delf   (2003-12-02 18:03) [2]

У меня выставлено clUseClient
clUseServer по-моему загружаtт сервер а с ним работают много юзеров и работают интенсивно


 
Кщд   (2003-12-03 06:52) [3]

2500 записей возвращать действительно необходимо?


 
Andriy Tysh   (2003-12-03 10:25) [4]


> Кщд (03.12.03 06:52) [3]

Поверте мне, необходимо. Такая уж задача эта.
А "тормоза" эти я на свои глаза видел.
Просто в чём первоначальная проблема? Програма сначала работала на Sybase, причём сервер был практически на каждой машине(см. "локально"). Когда ребята перевили прогу на MS SQL, то началась гонитва за економией. А добится её пока-что мешает этакая проблемка.
Большая прозьба всем помочь.


 
Anatoly Podgoretsky   (2003-12-03 11:42) [5]

Кто мешает и сейчас сервер на каждой машине, благо бесплатно и в комплект входит.


 
Anatoly Podgoretsky   (2003-12-03 11:43) [6]

Тем более, что передача по модему.


 
Andriy Tysh   (2003-12-03 12:52) [7]


> Anatoly Podgoretsky © (03.12.03 11:42) [5]


> Anatoly Podgoretsky © (03.12.03 11:43) [6]

К сожалению Ваши ответы нам ничем не помогут!
Но спасибо!


 
Anatoly Podgoretsky   (2003-12-03 13:02) [8]

Почему, у вас же стояли репликационные сервера, MS SQL это позволяет и его лицензия тоже, в комплект для этой цели включен MSDE.
Решение типовое для работы по низкоскоростным каналам.
Скорость драматические улучшится, а если еще и алгоритмы пересмотреть, так вооще будет летать.


 
Andriy Tysh   (2003-12-03 14:51) [9]


> Anatoly Podgoretsky © (03.12.03 13:02) [8]

Полностью согласен с Вами.
Но повторю немножко вопрос:
почему на Делфи запрос идет полторы минуты, а из, например, QueryAnalizer - за 14 сек? Предпологается, что никакой обработки даных нет. Только сам селект так долго выполняется.


 
Delirium   (2003-12-03 14:59) [10]

Между Delphi и Query Analyzer нет никакой разницы, и то и другое использует ADO, следовательно смотри свои настройки.


 
ЮЮ   (2003-12-04 02:49) [11]

>почему на Делфи запрос идет полторы минуты, а из, например, QueryAnalizer - за 14 сек?

А ты уверен, что QueryAnalizer "выкачал" все записи? Попробуй перейти в конец выборки


 
Andriy Tysh   (2003-12-05 10:29) [12]


> ЮЮ © (04.12.03 02:49) [11]

Уверен.


 
Конструктор   (2003-12-05 16:45) [13]

>Andriy Tysh
Проверте выборку в ваших вариантах на разогретом и неразогретом кэше.


 
sniknik   (2003-12-05 17:36) [14]

Andriy Tysh © (05.12.03 10:29) [12]
>> ЮЮ © (04.12.03 02:49) [11]
> Уверен.
у меня почемуто результат наоборот не в пользу QueryAnalizer.
правда проверял на локальной сети без модема.
(почему догадываюсь, по некоторым признакам он работает с серверным курсором а не с локальным)
попробуй проверь
http://www.delphimaster.ru/cgi-bin/download.pl?look=1&id=1069281940&n=1
качай демонстрашку, и сделай запрос в ней (это тоже локальный курсор, проверка на правильность настроек). тоже будет долго перешожи на серверный (для midas например у меня он был намного быстрей).


 
Andriy Tysh   (2003-12-06 15:22) [15]


> sniknik © (05.12.03 17:36) [14]

CursorLocation выставлен в clUseClient.
Но мы дослидили следующее:
при KeepConnection=False запрос быстрее выполняется, чем при True. Почему так. Кажется, что при True должно бы быстрее делатся ибо не открывается каждый раз конекшен? Иль я ошибаюсь?

А так все остальные настройки остались такими же какие дает Борланд по Дефаулту.


 
sniknik   (2003-12-06 23:27) [16]

> CursorLocation выставлен в clUseClient.
попробуй с серверным, QueryAnalizer с серверным работает (уверен на 95% :)

> при KeepConnection=False запрос быстрее выполняется
хз. не проверял, было неактуально. как предположение, если связь обрывается но не в компоненте а на другом конце? тогда что произойдет? вместо установки коннекта сразу, будет попытка передачи по старому, дальше отказ/таймаут и соеденение по новой. похоже?
т.е. быстее то быстрей но только если канал стабильный (с модемом это не так).
кстати если это правда так то у дебя должно через раз то быстрее то медленней (если только MSSQL не обрывает коннект в любом случае по какойто причине).


 
Andriy Tysh   (2003-12-08 12:13) [17]


> sniknik © (06.12.03 23:27) [16]
> попробуй с серверным, QueryAnalizer с серверным работает
> (уверен на 95% :)

Попробую обязательно.

Обрыва соединения не было.
Интересно, что локально эти запросы из той же программы "летают".
Как на щёт предположения, что компоненты чем-то мусорят трафик?
Может был опыт?

?
> sniknik © (05.12.03 17:36) [14]

На щёт дэмки из http://www.delphimaster.ru/cgi-bin/download.pl?look=1&id=1069281940&n=1.
Я был удевлён, ибо по сравнению с аналайзером в 2-3 раза один запросик с джоинами делался (5 с и 18 с). В чём тут секрет иль его нет? Какие настройки? Как я понял - это с помощью АДО?


 
Andriy Tysh   (2003-12-08 16:32) [18]


> sniknik © (06.12.03 23:27) [16]

Хотелось бы узнать настройки АДО в дэмке, если возможно.
Неужели только CursorLocation=clUseClient?


 
sniknik   (2003-12-08 16:41) [19]

> Я был удевлён, ибо по сравнению с аналайзером в 2-3 раза один запросик с джоинами делался (5 с и 18 с). В чём тут
> секрет иль его нет? Какие настройки? Как я понял - это с помощью АДО?
да полностью на АДО.

> Хотелось бы узнать настройки АДО в дэмке, если возможно.
> Неужели только CursorLocation=clUseClient?
насколько помню стандартные (т.е. как ложиш на форму с теми и есть), в том числе и CursorLocation=clUseClient
менялись только таймауты. (на 0 бесконечное ожидание запроса) вроде бы так.
(посмотреть точно пока не могу, писалось дома а у меня как раз сейчас монитор сгорел думаю до суботы не куплю. и как назло на работе недавно "чистку" делал :(


 
JibSkeart   (2003-12-08 16:44) [20]

залесь в профайлер да смотри что там у тебя делается .


 
Andriy Tysh   (2003-12-08 16:47) [21]


> sniknik © (08.12.03 16:41) [19]

:-(
А как можно было бы после удачной покупки монитора посмотреть на алгоритм? Ибо ветвь умрет, как я вижу. А проблема и неудовольствие юзеров останутся.


 
sniknik   (2003-12-08 17:18) [22]

> А как можно было бы после удачной покупки монитора посмотреть на алгоритм?
напиши мне, почту буду разбирать только после ее (удачной покупки ;о) етественно (домашнюю на работе обычно не смотрю). только напиши по какому поводу, за неделю забуду (а возможно и не в эту суботу куплю :о((

но вообше там ничего такого нет, единственное существенное это выполнение запросов идет в ADOCommand а после присвоение рекордсета датасету, после некоторого анализа, (нужно на случай если пакет возвращает несколько рекордсетов, ну типа
SELECT * FROM Table1
SELECT * FROM Table2)
но вот скорость от этого зависит? не думаю.


 
Andriy Tysh   (2003-12-09 10:29) [23]


> sniknik © (08.12.03 17:18) [22]

Хорошо. Напишу обязательно.
Желаю удачной покупки!



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.01.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.009 c
14-12078
Сатир
2003-12-14 19:59
2004.01.05
Happy birthday Esu!


1-11872
ruslan_as
2003-12-15 11:51
2004.01.05
Помогите посчитать часы


3-11835
SergP
2003-12-09 22:22
2004.01.05
Не работает like


14-12107
Undert
2003-12-15 00:28
2004.01.05
Кто что знает про Хаффмана ? (Huffman)


14-12036
Mike Kouzmine
2003-12-09 13:18
2004.01.05
Сегодня играет Локомотив.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский