Форум » LetoDB, HbNetio. » Вопросы новичка... » Ответить

Вопросы новичка...

Andrey: Взял последнюю версию с "Новая страница с бинарниками", установил на Win2008 Server, чуток помучился с портом... Собрал на МиниГуи+BCC 551 - \MiniGui\batch\hbmk2.bat rddleto.hbp Получил rddleto.lib - 131072 байт - правильный ли размер ? И еще Warning-и лезут: lib\.hbmk\win\bcc\rddsys.c: source\client\letocl.c: source\client\leto1.c: source\client\letomgmn.c: source\common\blowfish.c: source\common\common_c.c: source\common\hbip.c: TLIB 4.5 Copyright (c) 1987, 1999 Inprise Corporation /P32 lib\rddleto.lib -+ lib\.hbmk\win\bcc\rddsys.obj -+ lib\.hbmk\win\bcc\letocl.obj -+ lib\.hbmk\win\bcc\leto1.obj -+ lib\.hbmk\win\bcc\letomgmn.obj -+ lib\.hbmk\win\bcc\blowfish.obj -+ lib\.hbmk\win\bcc\common_c.obj -+ lib\.hbmk\win\bcc\hbip.objWarning: 'rddsys' not found in library Warning: 'letocl' not found in library Warning: 'leto1' not found in library Warning: 'letomgmn' not found in library Warning: 'blowfish' not found in library Warning: 'common_c' not found in library Warning: 'hbip' not found in library Так должно быть или нет ? Вопрос сразу напрашивается с путями - как писать правильно "\" или "/" : Local cPathServer := "//127.0.0.1:2812/" cPathServer := cPathServer +"DATE_TEST_PATH\test.dbf" Помню что где то обсуждали, а результат не запомнил...

Ответов - 300, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All

Andrey: Вот сделал тестовые программы - https://cloud.mail.ru/public/Lr52/WR9soGyFn TEST_DBF.hbp - терминалка сделанная SergKis, я чуток подправил. Закачивает базу на сервер супер быстро. Сборка под МиниГуи для терминалки. DbftoServer.hbp - загрузка dbf на сервер. При dbf без мемо-полей, тоже летает. Как появляются мемо-поля, то всё - кранты на сервер качает ну просто с ТОРМОЗАМИ. Если сервер стоит локально (//127.0.0.1:2812/test/), то ТОМОЗОВ НЕТ !!! Сборка под МиниГуи. DbfFromServer.hbp - скачивает dbf с сервера. Быстро скачивает, есть мемо-поля, или нет - скорость хорошая. Сборка под МиниГуи. Тестовые базы тоже в архиве. Папка /test/ - на сервере должна быть обязательна. Ну не знаю еще как выделить из пути (//127.0.0.1:2812/test/) папку для файлов.... Библиотеку rddleto.lib не выкладываю. Просьба потестить примеры, может кто подскажет как ускорить загрузку dbf с мемо-полями ? Вариант загрузки баз через архивные операции - буду пробовать. А какой буфер для файловых операций использовать MAX можно ? А то файл на 150 мб комп то прочитает, а сервер его примет ?

Pasha: DbftoServer работает медленно с транзакциями или без ? Конечно, надо использовать транзакции.

Andrey: Pasha пишет: DbftoServer работает медленно с транзакциями или без ? Работает (просто тормоза) с транзакциями. Программа просто подвисает и не регирует. Потом развисает, до окончания следующей транзакции. В качестве примера загрузить с транзакцией Test2.dbf (без мемо полей) - будет очень быстро, а потом загрузить TestCop2.dbf ( с мемо полями) - ну просто тормоза... Загружать нужно не локально (//127.0.0.1:2812/test/), локально тоже быстро работает. Хотя простой (терминалка) пример test_dbf.prg загружает базу с мемо-полями - просто на ура, очень быстро ! Алгоритм один и тот же. Харбор тоже одинаков. Разница: терминалка и МиниГуи.


Pasha: Прогнал тест с транзакциями: Локально - 3 сек По сетке - 6 сек Если без транзакций: Локально - 13 сек По сетке - 29 сек

Andrey: Pasha пишет: Прогнал тест с транзакциями: По сетке может будет и быстро. Я гонял тесты на внешний сервер. Даже на 2 внешних сервера. Результат тормоза...

PSP: Андрей, есть утилита iperf. Она позволяет очень объективно оценить канал связи между двумя компьютерами. Если есть доступ к управлению удаленными серверами, проверь с помощью этой утилиты эффективность канала. Может соединение получается медленное. В инете полно инфы. А так, вот простой пример: http://windowsnotes.ru/programs/izmeryaem-skorost-seti-programmoj-iperf/

Andrey: PSP пишет: Может соединение получается медленное. Спасибо БОЛЬШОЕ ! Буду тестить, а то действительно может и не там грабли нашёл....

Andrey: Установил последний LetoDb (с zip) на другой сервер. Прогнал тесты и вот результаты: База 60тыс.записей с кучей мемо-полей общим размером 118Мб загружается на сервер в 85 транзакций за 2:30 Я в ауте... Установил первый сервер LetoDB и попал на Тот тест который долго проходил на первом сервеое LetoDB из 5000 записей и размером 3.3 Мб за 5 минут проходит на новом сервере всего за 8 транзакции - 2 сек. Вот такие тесты.... Все проблемы в установке первого сервера, хотя он и работает нормально. Правда порт там длинный (30200), и нельзя ввести это число в утилиту manage.exe ! Просьба увеличить кол-во знаков ввода в утилиту manage.exe. Как бороться/настроить Win2008 под моим первым LetoDB ? Кто может подсказать, что там нужно подкрутить ?

Dima: Andrey пишет: Просьба увеличить кол-во знаков ввода в утилиту manage.exe. Есть сырец http://www.kresin.ru/down/letodb/letodb-2.15-b3.src.zip , исправь и собери. Andrey пишет: Тот тест который долго проходил на первом сервеое LetoDB из 5000 записей и размером 3.3 Мб за 5 минут Чем отличаются сервера что такая большая разница ?

Andrey: Dima пишет: Есть сырец http://www.kresin.ru/down/letodb/letodb-2.15-b3.src.zip , исправь и собери. Да нет у меня hwgui, не установлен. Да и другие тоже потом с этим (недостаток знака) столкнуться. Первый сервер в Москве на Win2008 Sever порт 30200 Второй в моём городе на Win2012 Server порт 2812 Сегодня-завтра попробую установить сервер на Linux'e у знакомого. Не знаю почему такая большая разница. Понял что дело не в LetoDB, а в самом сервере на котором он стоит. Само LetoDB - отличная база ! Спасибо авторам !!!

Dima: Номер порта не при чем я думаю. Возможно файер встроенный что то блочит или еще что.

Andrey: Сервер LetoDb установлен на CentOS release 6.5 (Final) - сам сервак на clodo.ru 1) База 5000 записей и размером 3.3 Мб проходит за 8 транзакции - 2 сек. 2) База 60 тыс.записей с кучей мемо-полей общим размером 118Мб загружается на сервер за 85 транзакций - 4:19 программа чуток подтормаживает, но всё равно классная скорость. Вывод однозначен, в ТОРМОЗАХ при загрузке базы - виновата сама машина первого сервера, а не LetoDB.

Pasha: Andrey пишет: Вывод однозначен, в ТОРМОЗАХ при загрузке базы - виновата сама машина первого сервера, а не LetoDB. Установлен ли в letodb.ini на сервере параметр Optimize = 1 Желательно его установить.

Andrey: Pasha пишет: Установлен ли в letodb.ini на сервере параметр Optimize = 1 Желательно его установить. Нет не установлен. Установлю и попробую. Спасибо !

Pasha: Просьба увеличить кол-во знаков ввода в утилиту manage.exe. Увеличил

Andrey: Pasha пишет: Увеличил Спасибо Большое !

Andrey: Dima пишет: Понял что дело не в LetoDB, а в самом сервере на котором он стоит. Финиш... Не трогал первый сервер несколько дней, решил попробовать отправить заново тест DbftoServer.ехе с танзакциями. И о чудо тест прошёл за 2 сек. Пример пересобирал с уже новой библиотекой, с zip-ом (т.е. последняя). Библиотеку собирал через Харбор из последнего МиниГуи. Библиотека собралась без ошибок. Думаю дай попробую старую библиотеку ( letodb-2.15-b3.src.zip с сайта http://www.kresin.ru/letodb.html ) Пересобралась библиотека с предупреждениями: lib\.hbmk\win\bcc\rddsys.c: source\client\letocl.c: source\client\leto1.c: source\client\letomgmn.c: source\common\blowfish.c: source\common\common_c.c: source\common\hbip.c: TLIB 4.5 Copyright (c) 1987, 1999 Inprise Corporation /P32 lib\rddleto.lib -+ lib\.hbmk\win\bcc\rddsys.obj -+ lib\.hbmk\win\bcc\letocl.obj -+ lib\.hbmk\win\bcc\leto1.obj -+ lib\.hbmk\win\bcc\letomgmn.obj -+ lib\.hbmk\win\bcc\blowfish.obj -+ lib\.hbmk\win\bcc\common_c.obj -+ lib\.hbmk\win\bcc\hbip.objWarning: 'rddsys' not found in library Warning: 'letocl' not found in library Warning: 'leto1' not found in library Warning: 'letomgmn' not found in library Warning: 'blowfish' not found in library Warning: 'common_c' not found in library Warning: 'hbip' not found in library И пример с этой библиотекой пять ушёл в ТОРМОЗА - закачка файла 6:24 !!! Вернул новую библиотеку rddleto.lib, опять пересобрал пример. И облом... Сервак теперь не работает ! Пример теперь уже новый тормозит на закачке базы с транзакциями. После работы, буду перегружать сервер... Одни непонятки... А как получить номер версии библиотеки клиента rddleto.lib ? Почему на сервере лог-файл читаешь написано: Leto DB Server v.2.15b3, а у себя в программе запрашиваешь LETO_GETSERVERVERSION() - пишет Leto DB Server v.2.15 ?

Pasha: Одни непонятки... А параметр Optimize = 1 установлен ? и сервер letodb после этого перегружался ? Надо сделать стоп-старт для службы letodb А как получить номер версии библиотеки клиента rddleto.lib ? Вызвать dbInfo(DBI_RDD_VERSION)

Andrey: Pasha пишет: А параметр Optimize = 1 установлен ? Да, установил сразу же. Стоп-старт тоже было сделано ! Pasha пишет: Вызвать dbInfo(DBI_RDD_VERSION) Сделал: #include "rddleto.ch" #include "letocdp.ch" #include "dbinfo.ch" cMsg := "Соединение для " + cPathServer + " - УСПЕШНО !;;" cMsg += " Номер коннекта:" + HB_NtoS(LETO_GETCURRENTCONNECTION()) + ";" cMsg += " Версия сервера:" + LETO_GETSERVERVERSION() + ";" cMsg += "IP адрес клиента:" + LETO_GETLOCALIP() + ";" cMsg += " Путь клиента:" + LETO_PATH() + ";" cMsg += " Версия клиента:" + dbInfo(DBI_RDD_VERSION) + ";" <<-- 66 строка Выдаёт ошибку: Error DBCMD/2001 Файл не открыт: DBINFO Called from DBINFO(0) Called from MYLETODB(66) Что не так делаю ?

Pasha: dbInfo требует открытой рабочей области, вестимо



полная версия страницы