Автор | Сообщение |
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" Помню что где то обсуждали, а результат не запомнил...
|
|
|
Ответов - 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 нужна один раз для первоначальной работы, ну может и с некоторой периодичностью. Не будешь же сидеть и ждать когда базы зальются у юзеров...
|
|
|
Dima
|
| |
Пост N: 4824
Зарегистрирован: 17.05.05
|
|
Отправлено: 24.05.15 14:39. Заголовок: Andrey пишет: Время..
Andrey пишет: цитата: | Время копирования на LetoDB - 8 мин |
| что то долго. какова скорость инета ?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4185
Зарегистрирован: 12.09.06
|
|
Отправлено: 24.05.15 15:21. Заголовок: Dima пишет: что то ..
Dima пишет: цитата: | что то долго. какова скорость инета ? |
| Хорошее ! Это в коде что-то не так сделано. Доделаю пример выложу.
|
|
|
PSP
|
| постоянный участник
|
Пост N: 1068
Зарегистрирован: 27.01.07
|
|
Отправлено: 25.05.15 09:04. Заголовок: Подключение не ADSL ..
Подключение не ADSL случаем?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4198
Зарегистрирован: 12.09.06
|
|
Отправлено: 25.05.15 12:35. Заголовок: PSP пишет: Подключе..
PSP пишет: цитата: | Подключение не ADSL случаем? |
| Обычное ! Быстрое... Скачивание с сайта на ура, а запись на сервер - тормоза. Что-то в коде не указываю наверное...
|
|
|
Pasha
|
| Администратор
|
Пост N: 3260
Зарегистрирован: 23.05.05
|
|
Отправлено: 25.05.15 13:23. Заголовок: Может там их на серв..
цитата: | Может там их на сервере zip-пом сжать (будет примерно 3 Мб), перетащить архив как файл, а уже на локальной машине распаковать и уже добавлять в локальные базы. |
| Достаточно добавить в server.prg строку: Request __Run и можно будет добавить в letoudf.prg функцию, которая бы вызывала внешний архиватор, и возвращала бы клиенту тело упакованного файла. Но такой способ мне не нравится, так как у клиентов появится возможность с помощью letodb запускать на сервере что угодно.
|
|
|
Dima
|
| |
Пост N: 4839
Зарегистрирован: 17.05.05
|
|
Отправлено: 25.05.15 14:01. Заголовок: Pasha пишет: Reques..
Pasha пишет: А нельзя разве добавить request hb_zipfile и пожать средствами Harbour минуя внешний архиватор ?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4199
Зарегистрирован: 12.09.06
|
|
Отправлено: 25.05.15 14:05. Заголовок: Pasha пишет: Но так..
Pasha пишет: цитата: | Но такой способ мне не нравится, так как у клиентов появится возможность с помощью letodb запускать на сервере что угодно |
| Сделать для админа, т.е. только для разработчика программ ! Клиентам такой возможности не давать. Т.е. создание архива и распаковка только программисту. Dima пишет: цитата: | А нельзя разве добавить request hb_zipfile и пожать средствами Harbour минуя внешний архиватор ? |
| Вот, вот внутренним архиватором - средствами Harbour !
|
|
|
Pasha
|
| Администратор
|
Пост N: 3261
Зарегистрирован: 23.05.05
|
|
Отправлено: 25.05.15 14:24. Заголовок: Наверное, так и сдел..
Наверное, так и сделаю. Добавлю к серверу letodb модуль letozip.prg Модуль будет необязательный, и, если его подключить при сборке сервера, будет добавлен соответствующий функционал.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4200
Зарегистрирован: 12.09.06
|
|
Отправлено: 25.05.15 14:43. Заголовок: Pasha пишет: Наверн..
Pasha пишет: цитата: | Наверное, так и сделаю. Добавлю к серверу letodb модуль letozip.prg |
| Ура !!! Pasha пишет: цитата: | Модуль будет необязательный, и, если его подключить при сборке сервера |
| Обязательным ! Зачем подключать, добавка к коду небольшая. Всем нужно будет потом, все оценят.... Можно будет архивы (картинки, .doc, .xls ) zip-ованые пересылать ! И примерчик небольшой С БЕГУНКОМ как использовать ! Спасибо БОЛЬШОЕ !
|
|
|
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 на МиниГуи ? Может дело в МиниГуи ? Поделитесь опытом, куда копать ?
|
|
|
|
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 - это все-таки прежде всего СУБД, и зачем его перегружать несвойственными СУБД действиями ?
|
|
|
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 на тесты ?
|
|
|
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 пишет: цитата: | Нельзя там посмотреть, что такого в МиниГуи делается, что задача на транзакциях вешается ? |
| Внутри транзакции надеюсь ты не воткнул обновление бегунка ?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4204
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.05.15 23:13. Заголовок: Dima пишет: Внутри ..
Dima пишет: цитата: | Внутри транзакции надеюсь ты не воткнул обновление бегунка ? |
| Нет конечно. Dima пишет: цитата: | Либа то та же если я верно понял !? |
| Да, собирал и консоль и МиниГуи с одной либой.
|
|
|
Pasha
|
| Администратор
|
Пост N: 3263
Зарегистрирован: 23.05.05
|
|
Отправлено: 27.05.15 08:36. Заголовок: Есть смысл переделат..
Есть смысл переделать загрузку/выгрузку БД на сервер letodb через архивные операции, поскольку их поддержка уже сделана. Это будет самый быстрый способ.
|
|
|
alkresin
|
| moderator
|
Пост N: 947
Зарегистрирован: 06.07.06
|
|
Отправлено: 27.05.15 09:45. Заголовок: Андрей, убирать бегу..
Андрей, убирать бегунок не пробовал ? Просто чтобы проверить, как он влияет на время ?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4205
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.05.15 13:45. Заголовок: alkresin пишет: Анд..
alkresin пишет: цитата: | Андрей, убирать бегунок не пробовал ? |
| Совсем убирал. Так же подвисает и столько же времени проходит. Дело всё таки в МиниГуи наверно. Сейчас доделаю тест и выложу, может что-то я не так делаю. Pasha пишет: цитата: | Есть смысл переделать загрузку/выгрузку БД на сервер letodb через архивные операции, поскольку их поддержка уже сделана. Это будет самый быстрый способ. |
| Спасибо БОЛЬШОЕ !!!
|
|
|
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 ) Что посоветуете ?
|
|
|
Pasha
|
| Администратор
|
Пост N: 3264
Зарегистрирован: 23.05.05
|
|
Отправлено: 28.05.15 07:55. Заголовок: Как лучше организова..
цитата: | Как лучше организовать просмотр базы на LetoDB по условию ? Допустим в базе есть числовое поле KOD, я построил индекс на локальном компе по этому полю (можно потом будет держать на сервере, это пока не важно). Как задать показ в TsBrowse записи допустим по KOD==1 ? |
| Надо использовать scope
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|