On-line: гостей 2. Всего: 2 [подробнее..]
АвторСообщение
Andrey
постоянный участник




Пост N: 4156
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.05.15 22:44. Заголовок: Вопросы новичка...


Взял последнюю версию с "Новая страница с бинарниками", установил на 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"

Помню что где то обсуждали, а результат не запомнил...

Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]


Andrey
постоянный участник




Пост N: 4184
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.05.15 13:00. Заголовок: Andrey пишет: Сдела..


Andrey пишет:

 цитата:
Сделал копирование баз с LetoDB на локальную машину.
10 файлов общим размером 136 Мб копируются на локальную машину за 2 мин. 33 сек.
Вот это скорость....



Сделал обратную процедуру копирование ОДНОЙ базы на LetoDB (сервер где-то в Москве).
База с мемо полями, общий вес 2,5 Мб - кол-во полей 12, из них 3 мемо поля. Кол-во записей 5000.
Время копирования на LetoDB - 8 мин.
А если будет 15000 записей ?
Блин... скорость не та... Пробовал делать через транзакции, программа виснет глухо, потом развисает.
База копируется, только поведение программы у юзеров будет
Что делать ?
Выгрузка на LetoDB нужна один раз для первоначальной работы, ну может и с некоторой периодичностью.
Не будешь же сидеть и ждать когда базы зальются у юзеров...

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 4824
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 24.05.15 14:39. Заголовок: Andrey пишет: Время..


Andrey пишет:

 цитата:
Время копирования на LetoDB - 8 мин


что то долго. какова скорость инета ?

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 4185
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.05.15 15:21. Заголовок: Dima пишет: что то ..


Dima пишет:

 цитата:
что то долго. какова скорость инета ?


Хорошее ! Это в коде что-то не так сделано. Доделаю пример выложу.

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 1068
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 25.05.15 09:04. Заголовок: Подключение не ADSL ..


Подключение не ADSL случаем?

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 4198
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.05.15 12:35. Заголовок: PSP пишет: Подключе..


PSP пишет:

 цитата:
Подключение не ADSL случаем?


Обычное ! Быстрое...
Скачивание с сайта на ура, а запись на сервер - тормоза. Что-то в коде не указываю наверное...


Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 3260
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 25.05.15 13:23. Заголовок: Может там их на серв..



 цитата:
Может там их на сервере zip-пом сжать (будет примерно 3 Мб), перетащить архив как файл, а уже на локальной машине распаковать и уже добавлять в локальные базы.



Достаточно добавить в server.prg строку:

Request __Run

и можно будет добавить в letoudf.prg функцию, которая бы вызывала внешний архиватор, и возвращала бы клиенту тело упакованного файла. Но такой способ мне не нравится, так как у клиентов появится возможность с помощью letodb запускать на сервере что угодно.


Спасибо: 0 
Профиль
Dima
администратор




Пост N: 4839
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 25.05.15 14:01. Заголовок: Pasha пишет: Reques..


Pasha пишет:

 цитата:
Request __Run


А нельзя разве добавить request hb_zipfile и пожать средствами Harbour минуя внешний архиватор ?

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 4199
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.05.15 14:05. Заголовок: Pasha пишет: Но так..


Pasha пишет:

 цитата:
Но такой способ мне не нравится, так как у клиентов появится возможность с помощью letodb запускать на сервере что угодно


Сделать для админа, т.е. только для разработчика программ !
Клиентам такой возможности не давать. Т.е. создание архива и распаковка только программисту.

Dima пишет:

 цитата:
А нельзя разве добавить request hb_zipfile и пожать средствами Harbour минуя внешний архиватор ?



Вот, вот внутренним архиватором - средствами Harbour !

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 3261
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 25.05.15 14:24. Заголовок: Наверное, так и сдел..


Наверное, так и сделаю. Добавлю к серверу letodb модуль letozip.prg
Модуль будет необязательный, и, если его подключить при сборке сервера, будет добавлен соответствующий функционал.

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 4200
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.05.15 14:43. Заголовок: Pasha пишет: Наверн..


Pasha пишет:

 цитата:
Наверное, так и сделаю. Добавлю к серверу letodb модуль letozip.prg


Ура !!!

Pasha пишет:

 цитата:
Модуль будет необязательный, и, если его подключить при сборке сервера


Обязательным ! Зачем подключать, добавка к коду небольшая.
Всем нужно будет потом, все оценят.... Можно будет архивы (картинки, .doc, .xls ) zip-ованые пересылать !

И примерчик небольшой С БЕГУНКОМ как использовать !
Спасибо БОЛЬШОЕ !


Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 4201
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.05.15 17:54. Заголовок: Всем привет ! Опять ..


Всем привет !
Опять уперся в стену.
Сделал программу на МиниГуи - скачивание баз с ЛетоДБ просто быстрый !
Делаю обратную программу загрузку ОДНОЙ базы на ЛетоДБ - тормоза. Ну думаю неправильно сделал, ан нет.
Спасибо ОГРОМНОЕ SergKis за помощь, он сделал классную тестовую программу.
Просто на Харборе - терминалка, считает мемо поля для размера буфера транзакции и
моя база просто загружается ВЛЁТ !
Вот тесты:
Transaction No
//18.15.100.50:1234/test/TestCopy.dbf Recno:4283 Время загрузки базы - 00:04:52

Transaction Yes
// расчет длины строки базы по мемо полям и по структуре базы:
{8, 8, 4, 25, 129, 187, 362, 40, 45, 40, 1, 10}
// длина записи - 860
//кол-во записей для расчета буфера транз. - 1000
// кол-во строк в буф. транз. - 700
// размер буфера транзакции - 860000
//18.15.100.50:1234/test/TestCopy.dbf Recno:4283 Время загрузки базы - 00:00:02

За 0,2 сек. база загружается на сервер.... Просто супер !
Делал и другие тесты, рабочая база 80 Мб с кучей мемо-полей загружается за 1 мин. 24 сек.

Компилировал исходник Харбором из поставки МиниГуи - последним,
Harbour 3.2.0dev (r1504082220), библиотеку LetoDB (letodb-2.15-b3.src.zip) тоже компилировал этим Харбором.
Сервер поставил готовый как службу из letodb-2.15-b3.bcc.zip

Переходим теперь к самой программе собранной на Harbour MiniGUI Extended Edition 2.4.6 - 2015.04.22
Она не особо большая, несколько менюшек, выгрузка для ЛетоДБ - ехе-ник размером 4 Мб.
Выгрузка базы без транзакции на МиниГуи занимае 8 мин.12 сек., хотя у тестовой программы 04:52, алгоритм одинаков.
Причем бегунок при загрузке замирает периодически... Но программа не вешается.
Перетащил алгоритм загрузки с ТРАНЗАКЦИЯМИ к себе заново, думал - полетит.... Ага, обломись...
С такими же параметрами как у тестовой программы база загружается... 5 минут ... и программа периодически просто вешается (выскакивает в поле окна Программа не отвечает)... Пробовал по совету SergKis уменьшать буфер транзакции, время выгрузки чуток увеличивается, и программа чуток меньше вешается...
Короче полный облом....

Кто пробовал делать загрузку файлов на сервер LetoDB на МиниГуи ?
Может дело в МиниГуи ? Поделитесь опытом, куда копать ?

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 3262
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 26.05.15 18:35. Заголовок: Добавил на сервере l..


Добавил на сервере letodb 2 функции: leto_Zip и leto_UnZip
Собирать сервер надо командой:

hbmk2 -env:__ZIP=yes letodb.hbp

Как использовать эти функции - я написал в инструкции.

Андрей, а из-за чего весь сыр-бор ? Загрузка базы на сервер - это разовая операция, и какая разница, будет она выполняться очень быстро или просто быстро ?
letodb - это все-таки прежде всего СУБД, и зачем его перегружать несвойственными СУБД действиями ?

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 4203
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.05.15 22:16. Заголовок: Pasha пишет: Андрей..


Pasha пишет:

 цитата:
Андрей, а из-за чего весь сыр-бор ?


Да большая непонятка, на голом Харборе ВСЁ быстро, как переделываем на МиниГуи становиться МЕДЛЕННО....
Что там влияет... Ну хоть бы не за 0,2 сек но не за 5 минут же...
Это при базе всего в 5000 записей. А если будет 40000 то всё, можно идти обедать.
Согласен, разовая операция загрузка базы, боюсь как бы в другом месте тормоза не вылезли потом.
Нельзя там посмотреть, что такого в МиниГуи делается, что задача на транзакциях вешается ?

Может я неправильно собрал саму либу ? Я про это уже спрашивал.
Делал так \MiniGui\batch\hbmk2.bat rddleto.hbp Размер либы - 131072
Содержимое build.log
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
Где можно взять готовую и проверенную rddleto.lib на тесты ?

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 4845
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 26.05.15 22:24. Заголовок: Andrey пишет: Делал..


Andrey пишет:

 цитата:
Делал так \MiniGui\batch\hbmk2.bat rddleto.hbp Размер либы - 131072


Andrey пишет:

 цитата:
на голом Харборе ВСЁ быстро


Либа то та же если я верно понял !? Если так , то она тут не причем.

Andrey пишет:

 цитата:
Нельзя там посмотреть, что такого в МиниГуи делается


Что то в GUI фейсе делаешь не так , коли тормоза. По идее скорость не должна
сильно отличаться а в идеале должна быть одинакова что в консоли что в GUI.

Andrey пишет:

 цитата:
Нельзя там посмотреть, что такого в МиниГуи делается, что задача на транзакциях вешается ?


Внутри транзакции надеюсь ты не воткнул обновление бегунка ?

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 4204
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.05.15 23:13. Заголовок: Dima пишет: Внутри ..


Dima пишет:

 цитата:
Внутри транзакции надеюсь ты не воткнул обновление бегунка ?


Нет конечно.
Dima пишет:

 цитата:
Либа то та же если я верно понял !?


Да, собирал и консоль и МиниГуи с одной либой.

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 3263
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 27.05.15 08:36. Заголовок: Есть смысл переделат..


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


Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 947
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 27.05.15 09:45. Заголовок: Андрей, убирать бегу..


Андрей, убирать бегунок не пробовал ? Просто чтобы проверить, как он влияет на время ?

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 4205
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.05.15 13:45. Заголовок: alkresin пишет: Анд..


alkresin пишет:

 цитата:
Андрей, убирать бегунок не пробовал ?


Совсем убирал. Так же подвисает и столько же времени проходит.
Дело всё таки в МиниГуи наверно. Сейчас доделаю тест и выложу, может что-то я не так делаю.

Pasha пишет:

 цитата:
Есть смысл переделать загрузку/выгрузку БД на сервер letodb через архивные операции, поскольку их поддержка уже сделана. Это будет самый быстрый способ.


Спасибо БОЛЬШОЕ !!!

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 4210
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.05.15 22:41. Заголовок: Пытаюсь пробовать Ts..


Пытаюсь пробовать TsBrowse из Минигуи со связкой LetoDb.
Как лучше организовать просмотр базы на LetoDB по условию ?
Допустим в базе есть числовое поле KOD, я построил индекс на локальном компе по этому полю (можно потом будет держать на сервере, это пока не важно).
Как задать показ в TsBrowse записи допустим по KOD==1 ?

Я всегда делал по условному индексу, было моментально. Хочу послушать как другие делают.
Можно с помощью фильтра:
cExp := "KOD==1"
DbSetFilter( &("{||" + cExp + "}"), cExp )

Что посоветуете ?

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 3264
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 28.05.15 07:55. Заголовок: Как лучше организова..



 цитата:
Как лучше организовать просмотр базы на LetoDB по условию ?
Допустим в базе есть числовое поле KOD, я построил индекс на локальном компе по этому полю (можно потом будет держать на сервере, это пока не важно).
Как задать показ в TsBrowse записи допустим по KOD==1 ?



Надо использовать scope

Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 64
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет