КОНКТРЕТНЫЕ ТОРМОЗА....ПЛИЗ

ЧАстые Вопросы и Ответы

Модераторы: kdv, CyberMax

Konstantin_
Сообщения: 25
Зарегистрирован: 15 апр 2005, 13:45

КОНКТРЕТНЫЕ ТОРМОЗА....ПЛИЗ

Сообщение Konstantin_ » 26 май 2005, 16:56

Привет всем.

Появилась небольшая заморочка.

В общем БД на ФБ 1.5 и клиент написанный на д7.

Проблема состоит в том, что при работе с БД по сети клиент достаточно сильно тормозит ( локально этой ерунды не было, так што узнал буквально сегодня ).

Например, при между записями происходит задержка примерно в ~500 миллисекунд( делал лог ).

При перемещении между записями выполняется чтение ветки и на основе номера ветки посылается запрос к серверу где выполняется поиск выбранной ветки при нахождении в выходные переменные записывается значение полей и выполняется возврат ( suspend ).

записей в БД практически нет, такой метод доступа организовал из расчета на то, что сервер обработает данные быстрее нежели тащить их на сервер, затем обрабатывать их на клиенте….

Почему такие тормоза, если кто может сказать, проясните плиз ситуацию...

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 26 май 2005, 17:00

значит, так написана процедура и т.п. надо еще промониторить клиентскую часть - чего она на сервер отправляет. может, там одно и то же по несколько раз запрашивается.

Konstantin_
Сообщения: 25
Зарегистрирован: 15 апр 2005, 13:45

Сообщение Konstantin_ » 26 май 2005, 17:11

Примерный алгоритм:

1. Чтение номера ветки
2. Подготовка процеды и ее запуск
3. Чтение возвращенных значений

2.1. Содержание проц.

REATE PROCEDURE --\--
-\-\-\-\-\--\-\\-\-\-\-\\-\\--\
begin
for select field_1 from Table_a
where inputparam = :table_a.primary
into :читаю поля по текущей записи и запоминаю в выходные переменные
do suspend
end

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 26 май 2005, 17:42

ну я ж говорю - на первый взгляд действительно ничего крамольного нет. поэтому все дело в конкретике - что за запрос for select, как часто дергается процедура (см sqlmonitor для твоих компонент). я бы как раз советовал с sql-monitor-а и начать.

eugeney
Сообщения: 79
Зарегистрирован: 29 окт 2004, 18:51

Re: КОНКТРЕТНЫЕ ТОРМОЗА....ПЛИЗ

Сообщение eugeney » 27 май 2005, 13:14

Konstantin_ писал(а):Привет всем.

Появилась небольшая заморочка.
....
Проблема состоит в том, что при работе с БД по сети клиент достаточно сильно тормозит ( локально этой ерунды не было, так што узнал буквально сегодня ).
...
Почему такие тормоза, если кто может сказать, проясните плиз ситуацию...
Объявления полей БД которые гоняються по сети. Локальный коннект и конект на localhost по производительности сравнивал?

Konstantin_
Сообщения: 25
Зарегистрирован: 15 апр 2005, 13:45

Сообщение Konstantin_ » 27 май 2005, 14:22

Объявления полей БД которые гоняються по сети. Локальный коннект и конект на localhost по производительности сравнивал?
сравнивал. полгода сидел на локальном коннекте, пока все до ума доводил, и никаких тормозов не наблюдал( деревья строил до 3000 знаю это немного, но тормозов я не наблюдал ).

Недавно стал использовать сервер, и в итого поимел офигительные тормоза.

Принцип работы клиента заключается в том, что выполняется авторизация к серверу БД, и куэри закрывается. Затем при доступе к таблицам БД куэри открываю посылаю селект на сервер - отображаю данные БД, куэри закрываю. При выделение каждой ветки - чтение содержание ветки действия аналогичные....

Замерял где наблюдаются тормоза, это первое обращение к куэри ( судя по всему медленно выполняется открытие компонента ).

Народ посоветуйте, как можно увеличить быстродействие....
[/quote]

eugeney
Сообщения: 79
Зарегистрирован: 29 окт 2004, 18:51

Сообщение eugeney » 27 май 2005, 16:34

Konstantin_ писал(а):
Объявления полей БД которые гоняються по сети. Локальный коннект и конект на localhost по производительности сравнивал?
сравнивал. полгода сидел на локальном коннекте, пока все до ума доводил, и никаких тормозов не наблюдал( деревья строил до 3000 знаю это немного, но тормозов я не наблюдал ).

Недавно стал использовать сервер, и в итого поимел офигительные тормоза.

Принцип ....
Локальное соединение и localhost это разные вещи. Ты сравнивал разные способы соединения с БД выполняемые на одной машине? Может у тебя там данные гигабайтами гоняються.
Вот принцип это круто :-)
Konstantin_ писал(а): Народ посоветуйте, как можно увеличить быстродействие....
Вначале найти где тормозит

Konstantin_
Сообщения: 25
Зарегистрирован: 15 апр 2005, 13:45

Сообщение Konstantin_ » 27 май 2005, 16:54

Локальное соединение и localhost это разные вещи
я вроде сказал, что в начале работал на локальной базе, то бишь
c:\мая.ждб,
а сейчас мой_сервер:\мая.ждб

По поводу где тормозит, вто лог задержек из клиента при обращении к записям

1 =0
1_2 =10
2 =10
select * from моя.тбл
3 =221
4 =221
5 =231

меежду пунктами 2 и 3 выполняется запрос указанный между ними.
Данных в БД почти нет. Сервер аналогичный запрос выполняет за 10 милисек( в среднем ). Самое интересное, что тормоза мне снять удалось при обращении к некоторым таблицам, но в в дву они остались. Ну дак вот, после обращении к тем таблицам которые все еще тормозят, начинаюn тормозить все остальные.....

Кто нить может, сказать с чем связано последнее
после обращении к тем таблицам которые все еще тормозят, начинаюn тормозить все остальные.....

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 27 май 2005, 17:04

чего у тебя - IBX, BDE? говорю тебе - SQLMonitor-ом смотри чего происходит между клиентом и сервером. наверняка в приложении проблема.

Konstantin_
Сообщения: 25
Зарегистрирован: 15 апр 2005, 13:45

Сообщение Konstantin_ » 27 май 2005, 17:17

то што глюк в клиенте, это понятно, выполнение зароса 200 милисек( при работе с первыми таблицами максимум 30 ). Вот в чем вопрос.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 27 май 2005, 17:32

особо буйных, которые не внимают указаниям или советам, буду банить.

чего ты хочешь-то? чтобы твой стук в подвале в телескоп исследовали?
ну давай я к тебе выеду, на место, если ты в Москве. 50 баксов в час.

промониторить работу клиента не можешь? или не умеешь? ну напиши, чего у тебя не получается. а то так только воду в ступе будем толочь.

Konstantin_
Сообщения: 25
Зарегистрирован: 15 апр 2005, 13:45

Сообщение Konstantin_ » 27 май 2005, 17:37

В общем это.
С БД работаю достаточно недавно, так што опыта пока маловато.

Промониторить, что имеется в виду.
И какой соф надо использовать....

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 27 май 2005, 17:42

Еще пара таких вопросов без ответов - забаню точно.
я же у тебя спросил - НА ЧЕМ НАПИСАНО ПРИЛОЖЕНИЕ - BDE или IBX или еще что?

Если на BDE - то там есть отдельный sqlmon.exe (типа, в Старт-меню работать не умеем, и нихрена в Delphi не видим?) Если IBX - то там есть компонент IBSQLMonitor.

научись формулировать проблему, чтобы другим людям тебе было легче отвечать. я не буду из тебя под пытками подробности вытаскивать - мне от того, как работает твое приложение, не холодно ни жарко. Это тебе надо, а не мне.

кстати
Недавно стал использовать сервер, и в итого поимел офигительные тормоза.
такого быть не может, если ты только не перегоняешь огромные объемы данных по сетке. Да и не бывает, чтобы при переходе на "сервер" у тебя замедлилось все в разы. Вернее, бывает, только если сетка настолько убитая, что ... даже файлы по ней перекачиваются еле-еле. Хотя бы пробовал с сервака файл размером ~100Мб перекачать - за сколько времени это происходит?

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 27 май 2005, 17:50

kdv писал(а): такого быть не может, если ты только не перегоняешь огромные объемы данных по сетке.
Дим, имхо у него в локалке полторы записи на таблицу и всё пофик. А на сервере боевая база с километрами, поселектил * фром табле, кеш кончился и вышел на реальный режим.

Konstantin_
Сообщения: 25
Зарегистрирован: 15 апр 2005, 13:45

Сообщение Konstantin_ » 27 май 2005, 17:56

Дим, имхо у него в локалке полторы записи на таблицу и всё пофик. А на сервере боевая база с километрами, поселектил * фром табле, кеш кончился и вышел на реальный режим.
на сервере данных нормальных пока нет ( обкатываю и тестирую )

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 27 май 2005, 18:03

А кроме FB на сервере ничего не работает? Процессор не кушает, файловым кешем не пользуется, диск не напрягает? И дисковая подсистема на сервере по уму организована? Или всё на одном диске и в одном разделе? И т.д. и т.п.

Konstantin_
Сообщения: 25
Зарегистрирован: 15 апр 2005, 13:45

Сообщение Konstantin_ » 27 май 2005, 18:21

А кроме FB на сервере ничего не работает? Процессор не кушает, файловым кешем не пользуется, диск не напрягает? И дисковая подсистема на сервере по уму организована? Или всё на одном диске и в одном разделе? И т.д. и т.п.
сервер, на мой взглад тут ни причем( наверно ), делал аналогичные запросы через айбиэксперт все выполняется за 10милисек.

Самое интересное это то, что первые две таблицы с клиента обрабатываются за 30 милисек, а вот остальные дают лаг под 200 ( до оптимизации почти 500-600 ) . Если попытать изменить данные через клиент в тормозных таблицах то начинают тормозить все таблицы. Если делать селект то первые две летают, остальные подтармаживают. Повторюсь с айбиэксперта во всех таблицах инсерт и апдэйты срабатывают за 10 милисек.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 27 май 2005, 18:37

Диагноз: ни сервер, ни сетка ни при чём. Стук в подвале по поводу косяков, которые ты натворил в в своём приложении. Медицина бессильна, разбираться в нём никто не станет.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 27 май 2005, 19:18

Твои 30-600 миллисекунд никому не интересны и вообще ни о чем не говорят. Исследовать производительность без точного знания что именно делает приложение - бесполезно. Раз ты сам этого не знаешь (вместо того чтобы монитор подключить начинаешь тут нам про миллисекунды рассказывать), то действительно, лучше завязать.

Константин - я тебя в третий и в последний раз спрашиваю - какие компоненты доступа к FB используются в D7 ? У тебя заело, что ты в эти миллисекунды вперся, а по существу ничего ответить не можешь?

Konstantin_
Сообщения: 25
Зарегистрирован: 15 апр 2005, 13:45

Сообщение Konstantin_ » 30 май 2005, 08:25

Константин - я тебя в третий и в последний раз спрашиваю - какие компоненты доступа к FB используются в D7 ? У тебя заело, что ты в эти миллисекунды вперся, а по существу ничего ответить не можешь?
По компонентам, стандартные интербэйзовские - IBDATABASE,IBQUERY, IBSTOREDPROC, IBTRANSACTION, DATASOURCE and etc/
Исследовать производительность без точного знания что именно делает приложение - бесполезно
я же сказал, что клиент когда тормозит толком ничего не делает, Открывает айбикуэри, делает селект или инсерт, обрабатывает полученные данные( если необходимо ), закрывает куэри и датасэты у айбидатадбэйз.

Ответить