|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Доброго времени суток. Есть клиент который берёт БД на удалённой машине (делает запросы SELECT). На удалённой машине поднят IBASE сервер. Полученные данные из запроса преобразовывает и записывает в другую БД, которая находится на локальной машине. Весь процесс протекает крайне долго. Я так понимаю, это происходит из-за того, что запросы к удалённой машине (к ней и от неё) происходят с огромной задержкой связанной с маленьким объёмом передачи данных. Замечал, что запросы к БД с более "весомыми" полями происходят быстрее, но всё равно очень медленно. Как можно ускорить этот процесс? Настройки сервера ? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 12:15 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Hello, Abraziv! You wrote on 5 октября 2016 г. 12:23:21: Abraziv> Как можно ускорить этот процесс?имхо, тут программист нужен (с) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 12:23 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
AbrazivНа удалённой машине поднят IBASE сервер.это что за странный зверь? AbrazivКак можно ускорить этот процесс?например локально вычитывать в некий формат, паковать, пересылать на таргет хост и там накатывать. В тиражируемых репликаторах так и сделано. AbrazivНастройки сервера ?для начала надо точную версию. если полторашка, то ничего не поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 12:26 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Ivan_Pisarevskyесли полторашка, то ничего не поможет. Кроме вышеназванного программиста. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 12:32 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Я программист. Пишу код и столкнулся с этой бедой. Сервер (СУБД) interbase 6.5. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 12:38 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Hello, Abraziv! You wrote on 5 октября 2016 г. 12:41:58: Abraziv> Я программист.очень смелое утверждение Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 12:42 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Хорошо. Я пишу код. Так пойдёт ? Зачем мне упаковывать в свой формат, отправлять на удалёнку и там зашивать ? Это же должен делать сервер, накой он нужен тогда. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 12:45 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Hello, Abraziv! You wrote on 5 октября 2016 г. 12:56:27: Abraziv> накой он нужен тогда.действительно. не нужен. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 12:57 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Abraziv, к серверу стучитесь через интернет по VPN? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 12:57 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Нет. Комп стоит в 20 м от меня. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 12:59 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Для Мимопроходящий . Сервер (удалённая машина) находится в одной локальной сети с моим (мой - это тот на котором запускаю клиента) компом ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 13:01 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
подозреваю, что всё это продолжение давешней темы http://www.sql.ru/forum/1229360/uskorit-zapis-v-bd Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 13:03 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
AbrazivКомп стоит в 20 м от меня.блин, я подумал тут АДСЛ какой или 3G. Таки да, тут без программиста никак. AbrazivСервер (СУБД) interbase 6.5.С этим в морг. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 13:05 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
AbrazivЯ пишу код. И этот код ты никому ни за что не покажешь, ибо стыдно. И это правильно. Только зачем ты тогда создал топик? Ждёшь подтверждения, что "да, ибазе - очень тормозная вещь"? Ну так обломись, в умелых руках она без проблем отдаёт гигабайты данных. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 13:05 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Нет. Ты не прав. Тогда всё удалось ускорить. И тогда не использовалась сеть вообще. Сейчас, если работаю с БД находящейся на локальной машине то скорость вполне устраивает. Но взаимодействие серверов interbase по сети происходит жутко медленно . Сервера interbase тупо не вызывают flush() для отправки сетевого пакета, ждут когда накопятся данные, а клиент которые шлёт данные ждёт сервера (взаимоблокировка), в итоге flush вызывает супервизор (по таймеру), от этого всё зло ИМХО. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 13:09 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Abraziv, попробуйте, для начала, перевести сетевые адаптеры на сервере и клиенте в режим приемопередачи "полудуплекс" (half duplex). Если ситуация улучшится, значит проблема где-то на физическом уровне. Если ситуация не изменится или ухудшится, то верните настройку обратно и попробуйте поиграть значением настройки Interbase'а - TCP_REMOTE_BUFFER (1448 - 32768). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 13:14 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
о! они нашли друг-друга! коса и камень, лёд и пламень... (с) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 13:22 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Abraziv...Весь процесс протекает крайне долго. ...с огромной задержкой ...происходят быстрее, но всё равно очень медленно Это все очень субъективно. Существует статистика выполнения запросов (посмотреть можно, выполняя запросы в isql, IBExpert) - вот это вполне объективный показатель. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 13:22 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Мимопроходящий, так и продолжаешь накручивать счетчик сообщений глупыми репликами? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 13:26 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
AbrazivДоброго времени суток. Есть клиент который берёт БД на удалённой машине (делает запросы SELECT). На удалённой машине поднят IBASE сервер. Полученные данные из запроса преобразовывает и записывает в другую БД, которая находится на локальной машине. Весь процесс протекает крайне долго. Я так понимаю, это происходит из-за того, что запросы к удалённой машине (к ней и от неё) происходят с огромной задержкой связанной с маленьким объёмом передачи данных. Замечал, что запросы к БД с более "весомыми" полями происходят быстрее, но всё равно очень медленно. Как можно ускорить этот процесс? Настройки сервера ? DDL таблицы из которой делается SELECT. Код SQL-запроса. Код программы, которая исполняет этот запрос и обрабатывает его результат. Очень медленно - это годы, дни, секунды? Скорость сети? По сети файл размером в несколько Гб копируется на эту "удаленную машину" за адекватное время? Ускорить процесс можно излагая факты, а не поток сознания. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 13:26 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
AbrazivСервера interbase тупо не вызывают flush() для отправки сетевого пакета, ждут когда накопятся данные, а клиент которые шлёт данные ждёт сервера (взаимоблокировка), в итоге flush вызывает супервизор (по таймеру), от этого всё зло ИМХО.Не забывайте, что операционная система также может отдавать данные основываясь на Nagle-алгоритме. Interbase сервер на Windows? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 13:57 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Наконец-то нормальные адекватные люди посетили эту страничку и дали дельные советы и замечания. За это всем спасибо. rdb_devAbraziv, попробуйте, для начала, перевести сетевые адаптеры на сервере и клиенте в режим приемопередачи "полудуплекс" (half duplex). Если ситуация улучшится, значит проблема где-то на физическом уровне. Если ситуация не изменится или ухудшится, то верните настройку обратно и попробуйте поиграть значением настройки Interbase'а - TCP_REMOTE_BUFFER (1448 - 32768). Сейчас возможно попробовать нет, завтра по тестирую. rdb_devНе забывайте, что операционная система также может отдавать данные основываясь на Nagle-алгоритме. Interbase сервер на Windows?Да, на Windows (тестил на 7 и server 2003). Граур СтаниславAbrazivДоброго времени суток. Есть клиент который берёт БД на удалённой машине (делает запросы SELECT). На удалённой машине поднят IBASE сервер. Полученные данные из запроса преобразовывает и записывает в другую БД, которая находится на локальной машине. Весь процесс протекает крайне долго. Я так понимаю, это происходит из-за того, что запросы к удалённой машине (к ней и от неё) происходят с огромной задержкой связанной с маленьким объёмом передачи данных. Замечал, что запросы к БД с более "весомыми" полями происходят быстрее, но всё равно очень медленно. Как можно ускорить этот процесс? Настройки сервера ? DDL таблицы из которой делается SELECT. Код SQL-запроса. Код программы, которая исполняет этот запрос и обрабатывает его результат. Очень медленно - это годы, дни, секунды? Скорость сети? По сети файл размером в несколько Гб копируется на эту "удаленную машину" за адекватное время? Ускорить процесс можно излагая факты, а не поток сознания. Всё верно говорите. Сейчас не получится привести запросы и код. Но скажу следующее, если бы дело было в коде, то тормозило бы и на локальной обработке (обе БД на локале), как я говорил выше локальные БД обрабатывает на ура. По скорости скажу так, обрабатывается ~1 MB в с, т.е. открывается БД на локале и перегоняется на удалёнку. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 14:44 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Хотел ещё дополнить. Видно, что данные передаются дискретно с одинаковым периодом. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 14:55 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
AbrazivВидно, что данные передаются дискретно с одинаковым периодом. Дай угадаю: опять каждый запрос в отдельной транзакции и prepare в цикле. В морг. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 15:02 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Abrazivна Windows (тестил на 7 и server 2003).Это ничего, что ИБ6 умер за несколько лет до выхода означенных виндовсов? ИБ6.5 это 2001 год, вин7 это 2009 год. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 15:13 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Ivan_Pisarevsky, "разница в возрасте" как-то пагубно влияет на методы работы Interbase сервера с TCP сокетом? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 15:24 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Дай угадаю: опять каждый запрос в отдельной транзакции и prepare в цикле. В морг. Нет. 2000 запросов в одной транзакции. Сам иди. Это ничего, что ИБ6 умер за несколько лет до выхода означенных виндовсов? ИБ6.5 это 2001 год, вин7 это 2009 год. Использую IB 2009, с IB6 я погорячился. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 15:26 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Hello, Abraziv! You wrote on 5 октября 2016 г. 15:30:09: Abraziv> 2000 запросов в одной транзакциипочему? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 15:30 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Эмпирически установил, что больше 400 запросов в одной транзакции улучшает производительность. Поставил 2000. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 15:37 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Завтра попробую это https://support.microsoft.com/ru-ru/kb/138831 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 15:41 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
AbrazivНет. 2000 запросов в одной транзакции. Свежо предание... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 15:45 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Есть другой путь? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 16:11 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
AbrazivЗавтра попробую это https://support.microsoft.com/ru-ru/kb/138831 SNA Server абсолютно не причем! "Курите" тут: Design issues - Sending small data segments over TCP with Winsock Slow performance occurs when you copy data to a TCP server by using a Windows Sockets API program Так что изменение параметра TCP_REMOTE_BUFFER у IB2009 и параметры в реестре TcpAckFrequency = 1 , а также TcpDelAckTicks = 0 , могут улучшить ситуацию. Если будет недостаточно, "курите" вдумчиво по приведенным выше ссылкам. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 17:51 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Hello, Rdb Dev! You wrote on 5 октября 2016 г. 17:59:20: Rdb Dev> "курите" вдумчиво по приведенным выше ссылкам.тЭоретик в стиле Yo Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 18:00 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
rdb_devизменение параметра TCP_REMOTE_BUFFER у IB2009 В случае аффтара совершенно не повлияет на ситуацию. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 18:06 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
МимопроходящийтЭоретик в стиле YoНу, ты как обычно - в своем репертуаре (понтов много, пользы НОЛЬ). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 18:14 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
AbrazivИспользую IB 2009, с IB6 я погорячился.В чем еще пациент "художественно приукрашивает картину"? Пример кода таки будет или так и будем воду в ступе толочь? rdb_dev"разница в возрасте" как-то пагубно влияет на методы работы Interbase сервера с TCP сокетом?влияет глючность и тормознутость ИБ6. Хотя в данном случае это не важно, см. про ИБ2009. rdb_devНу, ты как обычно - в своем репертуаре (понтов много, пользы НОЛЬ).Зато некоторые охрененно умеют "лечить по фотографии" и "сглаз отводить". :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 10:35 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
rdb_dev, от твоего возмущения статистика ТВОИХ запросов сама не покажется ЗДЕСЬ. А это - именно то, с чего следует начинать разбор полетов по вопросу производительности. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 10:47 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
o_v_a, ты ошибся адресатом. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 10:51 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Ivan_PisarevskyЗато некоторые охрененно умеют "лечить по фотографии" и "сглаз отводить". :)Ну дык!... Какой explain, такие и ответы. Как говорится: "Правильно поставленный вопрос - половина ответа". Спросил про тормоза по сети, получил один ответ, а упомянул о проблеме, схожей с работой алгоритма Нейгла - другой. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 10:59 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Пардон муа. Завязывайте с личными разборками - уже личины путаю. Автора ждём с примерами запросов и статистикой их выполнения. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 13:30 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
мимо проходил и решил спросить : какая практика по настройке TcpNoNagle в linux 2016 году ? А проблема ТС вполне ожидаема: обычные sql-приложения пишутся так, что перенос их в ЛЮБУЮ реальную сеть с ненулевым временем передачи резко замедляет приложение. Дело просто в последовательной логике приложения: сначала запрос - потом ожидание ответа. Запросы никогда не посылаются параллельно в одном пакете (ну разве что в mysql:) и теми, кто знает как это делать ) Не важна манера использования транзакций и размер данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2016, 22:06 |
|
Межсерверное взаимодействие IBS
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov"да, ибазе - очень тормозная вещь" попрошу без ругани. :-) мой сайт ibase.ru вроде не тормозной, как и моя локальная сетка ibase тоже работает нормально :-) p.s. to Abraziv - СУБД называется InterBase, а не ibase. ibase - это мой сайт. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2016, 00:09 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1561926]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 169ms |
0 / 0 |