КОНКТРЕТНЫЕ ТОРМОЗА....ПЛИЗ
-
- Сообщения: 25
- Зарегистрирован: 15 апр 2005, 13:45
КОНКТРЕТНЫЕ ТОРМОЗА....ПЛИЗ
Привет всем.
Появилась небольшая заморочка.
В общем БД на ФБ 1.5 и клиент написанный на д7.
Проблема состоит в том, что при работе с БД по сети клиент достаточно сильно тормозит ( локально этой ерунды не было, так што узнал буквально сегодня ).
Например, при между записями происходит задержка примерно в ~500 миллисекунд( делал лог ).
При перемещении между записями выполняется чтение ветки и на основе номера ветки посылается запрос к серверу где выполняется поиск выбранной ветки при нахождении в выходные переменные записывается значение полей и выполняется возврат ( suspend ).
записей в БД практически нет, такой метод доступа организовал из расчета на то, что сервер обработает данные быстрее нежели тащить их на сервер, затем обрабатывать их на клиенте….
Почему такие тормоза, если кто может сказать, проясните плиз ситуацию...
Появилась небольшая заморочка.
В общем БД на ФБ 1.5 и клиент написанный на д7.
Проблема состоит в том, что при работе с БД по сети клиент достаточно сильно тормозит ( локально этой ерунды не было, так што узнал буквально сегодня ).
Например, при между записями происходит задержка примерно в ~500 миллисекунд( делал лог ).
При перемещении между записями выполняется чтение ветки и на основе номера ветки посылается запрос к серверу где выполняется поиск выбранной ветки при нахождении в выходные переменные записывается значение полей и выполняется возврат ( suspend ).
записей в БД практически нет, такой метод доступа организовал из расчета на то, что сервер обработает данные быстрее нежели тащить их на сервер, затем обрабатывать их на клиенте….
Почему такие тормоза, если кто может сказать, проясните плиз ситуацию...
-
- Сообщения: 25
- Зарегистрирован: 15 апр 2005, 13:45
Примерный алгоритм:
1. Чтение номера ветки
2. Подготовка процеды и ее запуск
3. Чтение возвращенных значений
2.1. Содержание проц.
REATE PROCEDURE --\--
-\-\-\-\-\--\-\\-\-\-\-\\-\\--\
begin
for select field_1 from Table_a
where inputparam = :table_a.primary
into :читаю поля по текущей записи и запоминаю в выходные переменные
do suspend
end
1. Чтение номера ветки
2. Подготовка процеды и ее запуск
3. Чтение возвращенных значений
2.1. Содержание проц.
REATE PROCEDURE --\--
-\-\-\-\-\--\-\\-\-\-\-\\-\\--\
begin
for select field_1 from Table_a
where inputparam = :table_a.primary
into :читаю поля по текущей записи и запоминаю в выходные переменные
do suspend
end
Re: КОНКТРЕТНЫЕ ТОРМОЗА....ПЛИЗ
Объявления полей БД которые гоняються по сети. Локальный коннект и конект на localhost по производительности сравнивал?Konstantin_ писал(а):Привет всем.
Появилась небольшая заморочка.
....
Проблема состоит в том, что при работе с БД по сети клиент достаточно сильно тормозит ( локально этой ерунды не было, так што узнал буквально сегодня ).
...
Почему такие тормоза, если кто может сказать, проясните плиз ситуацию...
-
- Сообщения: 25
- Зарегистрирован: 15 апр 2005, 13:45
сравнивал. полгода сидел на локальном коннекте, пока все до ума доводил, и никаких тормозов не наблюдал( деревья строил до 3000 знаю это немного, но тормозов я не наблюдал ).Объявления полей БД которые гоняються по сети. Локальный коннект и конект на localhost по производительности сравнивал?
Недавно стал использовать сервер, и в итого поимел офигительные тормоза.
Принцип работы клиента заключается в том, что выполняется авторизация к серверу БД, и куэри закрывается. Затем при доступе к таблицам БД куэри открываю посылаю селект на сервер - отображаю данные БД, куэри закрываю. При выделение каждой ветки - чтение содержание ветки действия аналогичные....
Замерял где наблюдаются тормоза, это первое обращение к куэри ( судя по всему медленно выполняется открытие компонента ).
Народ посоветуйте, как можно увеличить быстродействие....
[/quote]
Локальное соединение и localhost это разные вещи. Ты сравнивал разные способы соединения с БД выполняемые на одной машине? Может у тебя там данные гигабайтами гоняються.Konstantin_ писал(а):сравнивал. полгода сидел на локальном коннекте, пока все до ума доводил, и никаких тормозов не наблюдал( деревья строил до 3000 знаю это немного, но тормозов я не наблюдал ).Объявления полей БД которые гоняються по сети. Локальный коннект и конект на localhost по производительности сравнивал?
Недавно стал использовать сервер, и в итого поимел офигительные тормоза.
Принцип ....
Вот принцип это круто
Вначале найти где тормозитKonstantin_ писал(а): Народ посоветуйте, как можно увеличить быстродействие....
-
- Сообщения: 25
- Зарегистрирован: 15 апр 2005, 13:45
я вроде сказал, что в начале работал на локальной базе, то бишьЛокальное соединение и localhost это разные вещи
c:\мая.ждб,
а сейчас мой_сервер:\мая.ждб
По поводу где тормозит, вто лог задержек из клиента при обращении к записям
1 =0
1_2 =10
2 =10
select * from моя.тбл
3 =221
4 =221
5 =231
меежду пунктами 2 и 3 выполняется запрос указанный между ними.
Данных в БД почти нет. Сервер аналогичный запрос выполняет за 10 милисек( в среднем ). Самое интересное, что тормоза мне снять удалось при обращении к некоторым таблицам, но в в дву они остались. Ну дак вот, после обращении к тем таблицам которые все еще тормозят, начинаюn тормозить все остальные.....
Кто нить может, сказать с чем связано последнее
после обращении к тем таблицам которые все еще тормозят, начинаюn тормозить все остальные.....
-
- Сообщения: 25
- Зарегистрирован: 15 апр 2005, 13:45
особо буйных, которые не внимают указаниям или советам, буду банить.
чего ты хочешь-то? чтобы твой стук в подвале в телескоп исследовали?
ну давай я к тебе выеду, на место, если ты в Москве. 50 баксов в час.
промониторить работу клиента не можешь? или не умеешь? ну напиши, чего у тебя не получается. а то так только воду в ступе будем толочь.
чего ты хочешь-то? чтобы твой стук в подвале в телескоп исследовали?
ну давай я к тебе выеду, на место, если ты в Москве. 50 баксов в час.
промониторить работу клиента не можешь? или не умеешь? ну напиши, чего у тебя не получается. а то так только воду в ступе будем толочь.
-
- Сообщения: 25
- Зарегистрирован: 15 апр 2005, 13:45
Еще пара таких вопросов без ответов - забаню точно.
я же у тебя спросил - НА ЧЕМ НАПИСАНО ПРИЛОЖЕНИЕ - BDE или IBX или еще что?
Если на BDE - то там есть отдельный sqlmon.exe (типа, в Старт-меню работать не умеем, и нихрена в Delphi не видим?) Если IBX - то там есть компонент IBSQLMonitor.
научись формулировать проблему, чтобы другим людям тебе было легче отвечать. я не буду из тебя под пытками подробности вытаскивать - мне от того, как работает твое приложение, не холодно ни жарко. Это тебе надо, а не мне.
кстати
я же у тебя спросил - НА ЧЕМ НАПИСАНО ПРИЛОЖЕНИЕ - BDE или IBX или еще что?
Если на BDE - то там есть отдельный sqlmon.exe (типа, в Старт-меню работать не умеем, и нихрена в Delphi не видим?) Если IBX - то там есть компонент IBSQLMonitor.
научись формулировать проблему, чтобы другим людям тебе было легче отвечать. я не буду из тебя под пытками подробности вытаскивать - мне от того, как работает твое приложение, не холодно ни жарко. Это тебе надо, а не мне.
кстати
такого быть не может, если ты только не перегоняешь огромные объемы данных по сетке. Да и не бывает, чтобы при переходе на "сервер" у тебя замедлилось все в разы. Вернее, бывает, только если сетка настолько убитая, что ... даже файлы по ней перекачиваются еле-еле. Хотя бы пробовал с сервака файл размером ~100Мб перекачать - за сколько времени это происходит?Недавно стал использовать сервер, и в итого поимел офигительные тормоза.
-
- Сообщения: 25
- Зарегистрирован: 15 апр 2005, 13:45
-
- Сообщения: 25
- Зарегистрирован: 15 апр 2005, 13:45
сервер, на мой взглад тут ни причем( наверно ), делал аналогичные запросы через айбиэксперт все выполняется за 10милисек.А кроме FB на сервере ничего не работает? Процессор не кушает, файловым кешем не пользуется, диск не напрягает? И дисковая подсистема на сервере по уму организована? Или всё на одном диске и в одном разделе? И т.д. и т.п.
Самое интересное это то, что первые две таблицы с клиента обрабатываются за 30 милисек, а вот остальные дают лаг под 200 ( до оптимизации почти 500-600 ) . Если попытать изменить данные через клиент в тормозных таблицах то начинают тормозить все таблицы. Если делать селект то первые две летают, остальные подтармаживают. Повторюсь с айбиэксперта во всех таблицах инсерт и апдэйты срабатывают за 10 милисек.
Твои 30-600 миллисекунд никому не интересны и вообще ни о чем не говорят. Исследовать производительность без точного знания что именно делает приложение - бесполезно. Раз ты сам этого не знаешь (вместо того чтобы монитор подключить начинаешь тут нам про миллисекунды рассказывать), то действительно, лучше завязать.
Константин - я тебя в третий и в последний раз спрашиваю - какие компоненты доступа к FB используются в D7 ? У тебя заело, что ты в эти миллисекунды вперся, а по существу ничего ответить не можешь?
Константин - я тебя в третий и в последний раз спрашиваю - какие компоненты доступа к FB используются в D7 ? У тебя заело, что ты в эти миллисекунды вперся, а по существу ничего ответить не можешь?
-
- Сообщения: 25
- Зарегистрирован: 15 апр 2005, 13:45
По компонентам, стандартные интербэйзовские - IBDATABASE,IBQUERY, IBSTOREDPROC, IBTRANSACTION, DATASOURCE and etc/Константин - я тебя в третий и в последний раз спрашиваю - какие компоненты доступа к FB используются в D7 ? У тебя заело, что ты в эти миллисекунды вперся, а по существу ничего ответить не можешь?
я же сказал, что клиент когда тормозит толком ничего не делает, Открывает айбикуэри, делает селект или инсерт, обрабатывает полученные данные( если необходимо ), закрывает куэри и датасэты у айбидатадбэйз.Исследовать производительность без точного знания что именно делает приложение - бесполезно