Медленная работа с БД через интернет из клиентского прилож.

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
connor74
Сообщения: 11
Зарегистрирован: 18 июн 2007, 08:24

Медленная работа с БД через интернет из клиентского прилож.

Сообщение connor74 » 28 июн 2007, 07:42

Здравствуйте уважаемые форумчане,

Возникла следующая проблема:

появилась необходимость работы с БД (FireBird 2) чрез интернет. Пока база стояла в локальной сети - все было нормально, а теперь операции (INSERT/SELECT/UPDTE) из клиентского приложения (IBX) выполняются безбожно долго.

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

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 28 июн 2007, 10:01

Сжатие данных, широкий канал, жёсткая оптимизация пересылаемых туда-сюда данных, кэширование на клиенте. И "выбор ползателей" - терминалка.

connor74
Сообщения: 11
Зарегистрирован: 18 июн 2007, 08:24

Сообщение connor74 » 28 июн 2007, 11:53

WildSery писал(а):Сжатие данных, широкий канал, жёсткая оптимизация пересылаемых туда-сюда данных, кэширование на клиенте. И "выбор ползателей" - терминалка.
Прошу прощение но не все понял.

Значит что касается канала, кэширования изменений - понятно.

Что касается сжатия данных, жесткой оптимизации, и последнее - можно хотя бы чуточку поподробнее чтобы примерно понять куда плыть.

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 28 июн 2007, 12:28

У тебя вообще через как подключено - VPN? Сжатие данных - ZeBeDe кажись это делает.
Оптимизация - это я про запросы и работу клиента. Скажем, вместо select * from table делать только select first 5 * from table (сколько для начального показа надо), подгружать только необходимое. Никаких лишних данных или вычисляемых сервером полей (если есть возможность), только то, без чего не обойтись.
Терминальный сервер ресурсов сети ест мало, и это удобный способ работать через интернет на удалённом сервере.
Есть и ещё вариант - клиента делать с веб-мордой. Тебе не подойдёт, поскольку как я понял, уже готовое приложение, перепись отнимет много ресурсов.

connor74
Сообщения: 11
Зарегистрирован: 18 июн 2007, 08:24

Сообщение connor74 » 28 июн 2007, 19:22

WildSery писал(а):У тебя вообще через как подключено - VPN? Сжатие данных - ZeBeDe кажись это делает.
Оптимизация - это я про запросы и работу клиента. Скажем, вместо select * from table делать только select first 5 * from table (сколько для начального показа надо), подгружать только необходимое. Никаких лишних данных или вычисляемых сервером полей (если есть возможность), только то, без чего не обойтись.
Терминальный сервер ресурсов сети ест мало, и это удобный способ работать через интернет на удалённом сервере.
Есть и ещё вариант - клиента делать с веб-мордой. Тебе не подойдёт, поскольку как я понял, уже готовое приложение, перепись отнимет много ресурсов.
Совершенно верно VPN. Про ZeBeDe поглядим. Насчет веба конечно поздновато, приложение готово. Начет оптимизации подумаем. Но что самое интересное довольно большую нагрузку дают INSERT и UPDATE

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 28 июн 2007, 20:38

connor74 писал(а):довольно большую нагрузку дают INSERT и UPDATE
Рефреш грида? (перезапрос данных, т.е.)

connor74
Сообщения: 11
Зарегистрирован: 18 июн 2007, 08:24

Сообщение connor74 » 29 июн 2007, 08:23

WildSery писал(а):
connor74 писал(а):довольно большую нагрузку дают INSERT и UPDATE
Рефреш грида? (перезапрос данных, т.е.)
Ну вобщем то да, хотя попробую разделить запросы на вставку и рефреш меседжами шоб понять точно на че грешить.

И ещё хотел бы уточнить:
- может ли замедлять работу предположим транзакции с корявыми параметрами?
- может ли ускорить работу FIBPlus?

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Сообщение stix-s » 29 июн 2007, 09:03

connor74 писал(а): Ну вобщем то да, хотя попробую разделить запросы на вставку и рефреш меседжами шоб понять точно на че грешить.
Смотря еще какие данные вставляешь - может ты большие блобы гоняешь?
connor74 писал(а): И ещё хотел бы уточнить:
- может ли замедлять работу предположим транзакции с корявыми параметрами?
например с параметром wait
connor74 писал(а): - может ли ускорить работу FIBPlus?
не знаю, какой функционал в IBX сейчас, а FIBPlus позволяет рефрешить изменяемую строку без перезапроса всего набора

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

Сообщение kdv » 29 июн 2007, 09:54

не знаю, какой функционал в IBX сейчас, а FIBPlus позволяет рефрешить изменяемую строку без перезапроса всего набора
этой фичей исходно обладал IBDataSet из FreeIBComponents, который их общий прародитель.

Ответить