Как ускорить работу в сети?

Запросы, планы, оптимизация запросов, ...

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

Ответить
PagaN
Сообщения: 12
Зарегистрирован: 16 дек 2006, 23:12

Как ускорить работу в сети?

Сообщение PagaN » 23 мар 2007, 01:27

Возникла проблема онлайнового доступа к базе.

Единственный реальный выход - GPRS.

Настроил, запустил, медленно...
Покрутил настройки FIB+, кэш метаданных и все такое, медленно...
Поставил ZeBeDee, медленно, хотя трафик и заметно пакуется.

Посмотрев внимательнее на трафик, заметил, что приложение не нагружает канал, а потихоньку качает по 100-200 байт в секунду, хотя скорость позволяет до 4,5 КБ/с.

Хотелось бы узнать, так и должно быть?
Видимо качает по одной записи, и пока не получит текущую, не дает запрос на следующую.

Как-то можно исправить/покрутить? Или только флажком FetchAll в FIB+?

CyberMax
Заслуженный разработчик
Сообщения: 638
Зарегистрирован: 31 янв 2006, 09:05

Re: Как ускорить работу в сети?

Сообщение CyberMax » 23 мар 2007, 01:33

PagaN писал(а):Хотелось бы узнать, так и должно быть?
Видимо качает по одной записи, и пока не получит текущую, не дает запрос на следующую.
Да, Эдик, передача идет по одной записи. dimitr писал, что это исправят в FB 2.1. Так что жди...

PagaN
Сообщения: 12
Зарегистрирован: 16 дек 2006, 23:12

Re: Как ускорить работу в сети?

Сообщение PagaN » 23 мар 2007, 01:44

CyberMax писал(а):Так что жди...
Ждать, увы, не получится 8(

Видимо, единственный выход писать трехзвенку/морду на веб.

ЗЫ. А есть варианты кэширования?
ЗЗЫ. Слава богу у меня клиент тонкий, вся логика в базе. Буду пробовать на выходных переписывать...

CyberMax
Заслуженный разработчик
Сообщения: 638
Зарегистрирован: 31 янв 2006, 09:05

Re: Как ускорить работу в сети?

Сообщение CyberMax » 23 мар 2007, 02:10

PagaN писал(а):ЗЫ. А есть варианты кэширования?
В FIB+ очень мощная поддержка кэширования. Недавно они выложили статью у себя на сайте на эту тему. Поищи ее.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Как ускорить работу в сети?

Сообщение hvlad » 23 мар 2007, 03:00

CyberMax писал(а):
PagaN писал(а):Хотелось бы узнать, так и должно быть?
Видимо качает по одной записи, и пока не получит текущую, не дает запрос на следующую.
Да, Эдик, передача идет по одной записи.
Та ты шо ?!
CyberMax писал(а):dimitr писал, что это исправят в FB 2.1
Не это, но жить станет полегче

PagaN
Сообщения: 12
Зарегистрирован: 16 дек 2006, 23:12

Re: Как ускорить работу в сети?

Сообщение PagaN » 23 мар 2007, 03:26

CyberMax писал(а):Недавно они выложили статью у себя на сайте на эту тему. Поищи ее.
Читал, не оно.


ХОЧУ!!!

Хочу получить 50-100 записей одним большим куском, а не крошками по 100 байт.

Чтобы сервер выполнил запрос, сложил результаты в отдельный кусочек данных (хоть txt файл 8))), упаковал его, отправил клиенту, клиент его распаковал и показал на экране.

Сервер, в данном случае, подразумевается как отдельный компьютер, а не сервер СУБД.

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

Вот такой я 8))

CyberMax
Заслуженный разработчик
Сообщения: 638
Зарегистрирован: 31 янв 2006, 09:05

Re: Как ускорить работу в сети?

Сообщение CyberMax » 23 мар 2007, 03:54

hvlad писал(а):Та ты шо ?!
Ну, вам, Влад, естественно виднее, как оно на самом деле :). Как мне помнится по одной из тем, писали, что FB передает записи поштучно. Так что там на самом деле-то исправят?

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Re: Как ускорить работу в сети?

Сообщение Dimitry Sibiryakov » 23 мар 2007, 08:24

PagaN писал(а):Хочу получить 50-100 записей одним большим куском, а не крошками по 100 байт.
Поиграйся с TcpRemoteBufferSize на обеих концах.

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

Сообщение kdv » 23 мар 2007, 09:33

чего-то вы гоните. проблема не с передачей записей "поштучно", а в roundtrip на всяких параметрах и т.п.
"поштучно" записи передаются только если выполнять запрос с for update.

а крутить размер буфера tcp не советую. он и так по умолчанию 8к.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Как ускорить работу в сети?

Сообщение hvlad » 23 мар 2007, 10:20

CyberMax писал(а):
hvlad писал(а):Та ты шо ?!
Ну, вам, Влад, естественно виднее, как оно на самом деле :).
Мне тоже так кажется ;)
CyberMax писал(а):Как мне помнится по одной из тем, писали, что FB передает записи поштучно.
Либо там написана чушь, либо кто-то не умеет читать
CyberMax писал(а):Так что там на самом деле-то исправят?
В релизнотах всё будет написано (уже скоро).
Если хочется подробностей сейчас - в fb-devel и\или исходники

CyberMax
Заслуженный разработчик
Сообщения: 638
Зарегистрирован: 31 янв 2006, 09:05

Сообщение CyberMax » 25 мар 2007, 14:22

Таки нашел тему на эту тему: http://forum.ibase.ru/phpBB2/viewtopic.php?t=2361. Действительно, о записях ни слова.

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

Сообщение kdv » 25 мар 2007, 20:06

Действительно, о записях ни слова.
ты меня слушай. я как есть говорю :)

PagaN
Сообщения: 12
Зарегистрирован: 16 дек 2006, 23:12

Проведенные НИОКР показали...

Сообщение PagaN » 25 мар 2007, 22:19

Начал писать веб-морду.
Всем спасибо.

Ответить