Показано с 1 по 8 из 8

Тема: BDE и запуск нескольких rkserver на одной ОС (куча бочонков в трее)

  1. #1
    Разбирающийся
    Регистрация
    20.10.2011
    Адрес
    Кыргызстан
    Сообщений
    988
    Поблагодарил(а)
    55
    Благодарностей: 35 (сообщений: 24)

    BDE и запуск нескольких rkserver на одной ОС (куча бочонков в трее)

    Столкнулся с проблемами запуска 7ми серверов на виртуальной машине win2003 r2, а также опыт работы BDE на win2008 r2 64bit
    После долгого блуждания по гуглу и экспериментов на паре рабочих объектов родилась маленькая статейка - аля вырезки из статей с редактированием под условия работы с RKEEPER


    BDE по-умолчанию нам предлагаются настройки, которые были актуальны в прошлом веке, но на сегодняшний день их явно недостаточно. Необходимо сразу увеличить численное значение ряда параметров настройки. Эти параметры можно менять как в реестре (они расположены в "HKEY_LOCAL_MACHINE\SOFTWARE\Borland\ Database Engine\Settings\SYSTEM\INIT"), так и с помощью программы BDEAdmin, которая инсталлируется вместе в BDE и чаще всего ее можно найти в каталоге "C:\Program Files\Common Files\Borland Shared\BDE\". После запуска BDEAdmin зайдите на вкладку Configuration и выберите "System\INIT". Для запуска от одного до трех RKESERVER на одном компе, оставить настройки BDE по-умолчанию, если более серверов то изменяем согласно следующему описанию (ни кто не запрещает экспериментировать):

    AUTO ODBC - В значении True при каждой инициализации в BDE автоматически импортируются все установленные в системе драйверы ODBC. Оставляем по-умолчанию.

    DATA REPOSITORY - Имя текущего словаря данных. Не трогаем.

    DEFAULT DRIVER - Локальный драйвер, используемый по умолчанию в драйвере STANDARD. По-умолчанию PARADOX, оставляем как есть.

    LANGDRIVER - Драйвер языковой поддержки. При использовании стандартных локальных драйверов это значение перекрывают те, которые определены непосредственно в конфигурациях драйверов Paradox, dBASE, FoxPro, ASCII. Оставляем как есть.

    LOCAL SHARE- Устанавливает режим совместного использования файлов приложениями, работающих через BDE и другие программы. В значении True совместное использование разрешено. Рекомендуется установить в True. Из справки назначение данного параметра можно понять следующим образом: LOCAL SHARE следует устанавливать в True, если с базой будет работать не только BDE, но еще и сторонние приложения. Однако это утверждение скрывает реальный механизм действия данной настройки, и чаще всего пользователи просто игнорируют данный параметр. А зря. Фактически данный параметр, установленный в True, отключает кэширование данных, выполняемое BDE, благодаря чему данные записываются в базу немедленно, после каждого вызова Post, что значительно уменьшает риск повреждения данных, и позволяет организовать более надежную многопользовательскую работу с базой в локальной сети. Естественно, модификация данных будет выполняться медленнее, однако и повреждения базы будут происходить гораздо реже. Кстати, не представляю, как вообще BDE может нормально работать в локальной сети с LOCAL SHARE=FALSE. Для корректной работы как минимум нужно, чтобы кэширование данных выполнялось на том же компьютере, где лежит база. Т.к. RKSERVER монопольно работает с базой, оставляем LOCAL SHARE=FALSE

    LOW MEMORY USAGE LIMIT - Максимальный объем памяти (в Кбайтах), который BDE пытается использовать в первом Мбайте оперативной памяти. По-умолчанию 32, оставляем как есть.

    MAXBUFSIZE - Максимальный размер кэша данных в кб. Он должен быть не меньше значения параметра MINBUFSIZE, не более физической памяти компа и кратен 128. Рекомендую поставить не менее 4096 кб (не забываем, должно быть кратно 128), максимум 32768

    MAXFILEHANDLES - Максимальное число используемых файлов. максимальное количество файлов, которые могут быть открыты BDE одновременно (в их число входят *.db, *.px, *.val и др.). По умолчанию MAXFILEHANDLES=48. Ставим значение для данного параметра не менее 96 (максимум 256)

    MEMSIZE - Максимальный объем используемой BDE памяти в Мбайтах. Размер оперативной памяти (в мегабайтах), который разрешено использовать BDE. По умолчанию MEMSIZE=16. Этого обычно хватает, но увеличение данного параметра должно привести к ускорению SELECT-запросов с большим объемом выборки. Рекомендуемое значение для данного параметра - 30% от объема ОЗУ, но не более 205. Ставим значение - 128 Мб

    MINBUFSIZE - Минимальный размер кэша данных в кб. Он должен быть не больше значения параметра MAXBUFSIZE и кратен 128. Оставляем значение - 128 кб, можно и 1024 не критично.

    MTS POOLING - Управляет режимом объединения ресурсов MTS (Microsoft Transaction Server). Обеспечивает лучшую производительность, но не для нас. Оставляем FALSE

    SHAREDMEMLOCATION - Содержит адрес памяти, который пытаются использовать Менеджер памяти и Менеджер буфера. При возникновении конфликтов (замечены конфликты со звуковой картой) адрес необходимо поменять вручную (1000,2000 ... 7000; есть еще значения 5BDE, 6BDE). Задается только второе слово адреса. Оставляем по-умолчанию если нет конфликтов (актуально при ошибках запуска Менеджера ресторана RKEEPER)

    SHAREDMEMSIZE - Максимальный объем памяти, используемый Менеджером памяти и Менеджером буфера. Размер совместно используемой области памяти. По умолчанию SHAREDMEMSIZE=2048, однако для нормальной работы требуется большее значение. Увеличение в редких случаях может привести к конфликтам, тогда при этом может потребоваться изменение параметра SHAREDMEMLOCATION. Ставим значение - 16384 Мб, но можно и больше, например 32768 Mb

    SYSFLAGS - Не используется

    VERSION - Номер внутренней версии BDE. Только для чтения

    ------------------------------------------------------------------------------
    Ниже перечислены проблемы, которые возникают в процессе работы с BDE и приведены способы их устранения:

    * Для корректной работы BDE требуется правильная установка. Для установки BDE (без SQL Links) можно воспользоваться архивом "C:\Program Files\Common Files\Borland Shared\BDE\bdeinst.cab". В нем лежит файл BdeInst.dll, который является инсталлятором BDE. Перед началом установки следует удалить предыдущую версию BDE (переименовать ветку реестра "HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine" и каталог, в которой BDE был ранее установлен). Начать процесс инсталляции можно с помощью команды "regsvr32.exe BdeInst.dll". При этом, возможно, BDE ругнется на отсутствие места на жестком диске и предложит выбрать каталог установки. В результате установки в указанном каталоге появятся все необходимые для работы BDE файлы, включая BDEAdmin.exe и BDEADMIN.HLP. Сугубо "программерские" файлы (BDE32.HLP, LOCALSQL.HLP, *.txt) установлены не будут! Описанный способ установки BDE хоть и является рабочим, но он не разрешен компанией Borland, поэтому является нелегальным! Легальная установка возможна только с помощью инсталляторов, имеющих разрешение (сертификат) от Borland на установку BDE (например, InstallShield Express). Эти инсталляторы корректно устанавливают BDE, настраивают алиасы и вносят необходимую информацию в реестр Windows.

    * Эпизодически появляется ошибка "Insufficient memory for this operation". Она появляется при слишком большом числе подключений. Например, при стандартной конфигурации BDE данная ошибка появится, если установить более 10 подключений к базам данных и для каждого подключения открыть хотя бы одну таблицу (для того, чтобы убедиться в этом, запустите 11 экземпляров программы SQL Explorer (она лежит в каталоге "$(DELPHI)\dbexplor.exe") и попробуйте в каждом из них открыть какую-либо табличку Paradox - должна произойти указанная ошибка). Для исправления данного ограничения необходимо увеличить параметр SHAREDMEMSIZE. По умолчанию это значение равно 2048 (ограничение на 10 подключений). Если изменить данную переменную на 4096, то BDE станет поддерживать одновременно 21 подключение. Рекомендуется изменить данный параметр на следующие значения 8192, 16384, 32768.

    * Каталог, указанный в настройках BDE как значение параметра NET DIR (BDE Administrator | вкладка Configuration | в дереве Drivers -> Native -> PARADOX, первый параметр в правой части окна), должен быть доступен на чтение и запись текущему пользователю Windows. В Windows 7, например, корневой каталог диска C: защищен от записи для пользователя, не являющегося локальным администратором. Указываем любую другую папку с доступом на чтение/запись.

    ---------- Добавлено в 00:49 ---------- Предыдущее сообщение было размещено в 00:44 ----------

    Помидоры не кидать, благодарность тоже пью

  2. #2
    ТВОРЕЦ СЧАСТЬЯ Аватар для SH
    Регистрация
    29.11.2006
    Сообщений
    18,069
    Поблагодарил(а)
    481
    Благодарностей: 192 (сообщений: 165)
    LOCAL SHARE... Рекомендуется установить в True. ...отключает кэширование данных, ... что значительно уменьшает риск повреждения данных... повреждения базы будут происходить гораздо реже. ...не представляю, как вообще BDE может нормально работать в локальной сети с LOCAL SHARE=FALSE. Т.к. RKSERVER монопольно работает с базой, оставляем LOCAL SHARE=FALSE
    Вот тут небольшая каша. Вначале, рекомендация что True - это хорошо, повышает целостность данных, а под конец неожиданно наоборот. Значит, оставляем кеширование и фиг сними, с данными?

    ---------- Добавлено в 01:58 ---------- Предыдущее сообщение было размещено в 01:55 ----------

    1.Еще инфа в этой теме

    2.И еще в этой
    Последний раз редактировалось SH; 17.07.2017 в 06:43.
    Алексей Аркадьев

    Когда заказчик ищет волшебника, то чаще всего он находит сказочника.
    Если у Вас есть вопрос по поддержке - напишите его на форуме, я обязательно отвечу, если знаю ответ.
    Если Вам нужны какие-то файлы, пишите на почту: support@carbis.ru, но вначале посмотрите в разделе для скачивания.
    Для коммерческих вопросов:
    +7 (495) 740-49-91, или на почту: sales@carbis.ru

  3. #3
    Разбирающийся
    Регистрация
    20.10.2011
    Адрес
    Кыргызстан
    Сообщений
    988
    Поблагодарил(а)
    55
    Благодарностей: 35 (сообщений: 24)
    Вот тут небольшая каша. Вначале, рекомендация что True - это хорошо, повышает целостность данных, а под конец неожиданно наоборот. Значит, оставляем кеширование и фиг сними, с данными?
    Согласен - каша есть, но вроде отписал что RKSERVER монопольно работает с базой и как бы данный классный параметр нам и не нужен.
    Я с этим параметром не экспериментировал.

  4. #4
    Разбирающийся Аватар для VampireKB
    Регистрация
    27.03.2007
    Адрес
    Moscow City
    Сообщений
    2,854
    Поблагодарил(а)
    0
    Благодарностей: 17 (сообщений: 11)
    Цитата Сообщение от mnekin Посмотреть сообщение
    Согласен - каша есть, но вроде отписал что RKSERVER монопольно работает с базой и как бы данный классный параметр нам и не нужен.
    Я с этим параметром не экспериментировал.
    РКсервер классно работает в обоих вариантах. Зайчики были.
    Хотите БЕСПЛАТНЫЙ кипер ? http://www.techrk.ru/?cat=17
    Также доступен ФТП !! ftp://techrk.ru
    Теперь возможно произвести покупку ПО через терминалы Qiwi.Подробности на сайте

  5. #5
    Разбирающийся
    Регистрация
    20.10.2011
    Адрес
    Кыргызстан
    Сообщений
    988
    Поблагодарил(а)
    55
    Благодарностей: 35 (сообщений: 24)
    Цитата Сообщение от VampireKB Посмотреть сообщение
    РКсервер классно работает в обоих вариантах. Зайчики были.
    Так оно и понятно что были зайчики раз Вами пишется сторонний софт для rkeeper, это Ваш параметр

  6. #6
    Banned
    Регистрация
    03.01.2014
    Адрес
    Россия
    Сообщений
    958
    Поблагодарил(а)
    4
    Благодарностей: 9 (сообщений: 6)
    Профит то какой? Вы смогли запустить более 10 серверов одновременно?

  7. #7
    Разбирающийся
    Регистрация
    20.10.2011
    Адрес
    Кыргызстан
    Сообщений
    988
    Поблагодарил(а)
    55
    Благодарностей: 35 (сообщений: 24)
    Цитата Сообщение от Hendehog Посмотреть сообщение
    Профит то какой? Вы смогли запустить более 10 серверов одновременно?
    Не было необходимости, пока мой максимум 7 серверов.
    Попробую обязательно 10+ серверов.

  8. #8
    Сведущий
    Регистрация
    27.06.2014
    Адрес
    Sochi
    Сообщений
    58
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    10 северов запустить смог, 11 уже не стартует.

Похожие темы

  1. Установка Shouse4, импорт из RK7, а также запуск нескольких серверов SH4
    от SH в разделе Установка, перенос, восстановление, добавление второй базы Storehouse
    Ответов: 10
    Последнее сообщение: 11.09.2017, 08:38
  2. Учет весовых блюд по одной цене в одной тарелке
    от olegash в разделе SH: Организация и ведение учета
    Ответов: 9
    Последнее сообщение: 07.06.2013, 23:45
  3. RKserver и Farcards
    от frolals в разделе R-Keeper 6
    Ответов: 2
    Последнее сообщение: 01.05.2013, 22:33
  4. Значок rkservice в трее
    от yui0 в разделе RK: Базы данных, ошибки, проблемы
    Ответов: 6
    Последнее сообщение: 12.03.2011, 20:56

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •