Описание модулей
Описание приложений из которых состоит Jowi Setup
- Краткое описание модулей
- Как узнать версию модуля
- Сервер базы данных PostgreSQL
- Подключение к базе
- Вопросы и ответы F.A.Q.
Краткое описание модулей
Программа Jowi состоит из нескольких модулей:
- Waiter - Основной модуль для персонала ресторана – работа с заказами, блюдами, настройка фискальных принтеров, управление пользователями и так далее.
- PrintManager – модуль печати документов (чеков, счетов и т.п.).
- SyncService – служба синхронизации локальных данных с вебом.
- UpdaterService – служба обновления программ (модулей).
- SetConfig – вспомогательные программы для получения и записи ip-адреса
Как узнать версию модуля
Узнать версию любого модуля можно с помощью стандартных инструментов Windows.
В папке ...\Program Files\Jowi\ откройте каталог модуля (Sync, Waiter, DataPrint, UpdaterServices). Чтобы узнать версию:
- наведите курсор на .exe файл, чтобы появилась всплывающая подсказка с версией продукта;
- кликните правой кнопкой мыши по .exe файлу и откройте «Свойства» – на вкладке «Подробно» будет указана версия модуля.
Сервер базы данных PostgreSQL
При установке Jowi будет установлена PosgreSQL – система управления базами данных. При этом установленная ранее СУБД будет удалена.
Перед установкой необходимо:
- Проверить имя пользователя и компьютера – они должны быть на английском языке.
- Для корректной установки СУБД добавьте исключение postgres.exe в правило брандмауэра.
- Служба «Вторичный вход в систему» должна быть установлена на «Автостарт». Это можно сделать через «Панель управления – Администрирование – Службы».
- Контроль учетных записей UAC необходимо выключить.
- Все установки обязательно запускать «от администратора» (по правому клику на файл). Желательно запускать установки первым делом после перезагрузки компа.
- После каждой неудачной попытки установки Postgres следует не только ее деинсталлировать через Панель управления, но и удалить из системы пользователя по имени «postgres»: в командной строке набрать net user postgres /del. Должно появиться сообщение, что команда выполнена успешно.
- Проверить файловую систему – при установке на FAT32 могут возникнуть ошибки, рекомендуем устанавливать СУБД на NTFS.
Конфигурирование PostgreSQL
PostgreSQL не будет использовать памяти больше, чем разрешено настройками – по умолчанию это минимальный объем памяти. При этом не стоит указывать памяти больше, чем доступно к использованию – операционная система начнет использовать файл подкачки со всеми вытекающими печальными последствиями для производительности сервера.
В Windows конфигурационные файлы PostgreSQL находятся в каталоге установки в папке Data:
- postgresql.conf – основной файл с настройками СУБД;
- pg_hba.conf – файл с настройками доступа для клиентов. В частности, тут можно указать IP-адреса, с которых пользователи смогут подключаться к определенным БД;
- pg_ident.conf – файл с преобразованием имен пользователей из системных во внутренние (вряд ли он потребуется большинству пользователей).
Файлы текстовые, их можно править с помощью «блокнота». Строки, начинающиеся с #, считаются комментариями и игнорируются.
Параметры, относящиеся к объему памяти, могут дополняться суффиксами kB, MB, GB – килобайты, мегабайты, гигабайты. Параметры, описывающие интервалы времени, могут дополняться суффиксами ms, s, min, h, d – миллисекунды, секунды, минуты, часы, дни.
Внимание! После изменения значений требуется перезапустить службу PostgreSQL.
Буфер сервера
Если объем буфера недостаточен для хранения часто используемых рабочих данных, то они будут постоянно писаться и читаться из кэша ОС или с диска, что крайне отрицательно скажется на производительности. Но не следует указывать слишком большое значение, иначе не останется памяти для выполнения запросов клиентов и для ОС и прочих приложений. Так же сервер полагается и на кэш ОС и старается не держать в своем буфере то, что скорее всего закэшировано системой.
Рекомендации:
- Средний объем данных, доступно 256-512 Мб – значения 16-32 Мб
- Большой объем данных, доступно 1-4 Гб – значения 64-256 Мб или выше.
Память для сортировки
work_mem – содержит параметры памяти для сортировки, агрегации данных и т.д. Выделяется на каждый запрос, возможно по нескольку раз для сложных запросов.
Если памяти недостаточно, PostgreSQL будет использовать временные файлы. Если значение слишком большое – может возникнуть перерасход оперативной памяти, и ОС начнет использовать файл подкачки с соответствующим падением быстродействия.
Есть рекомендация: при расчетах взять объем доступной памяти за вычетом shared_buffers и поделить на количество одновременно исполняемых запросов. В случае сложных запросов делитель стоит увеличить, т.е. уменьшить результат.
Пример. Из расчета 5 активных пользователей (2.5 Гб - 0.5 Гб (shared_buffers)) / 5 = 400 Мб. Если СУБД сочтет запросы достаточно сложными или появятся дополнительные пользователи, значение лучше уменьшить.
Для простых запросов достаточно небольших значений – до пары мегабайт, но для сложных потребуется больше.
Рекомендация – для памяти 1-4 Гб можно использовать значения 32-128 Мб.
Временный буфер
temp_buffers - буфер под временные объекты, в основном для временных таблиц.
Можно установить порядка 16 МБ.
Количество соединений
max_connections – определяет максимальное количество одновременных подключений к серверу базы данных. По умолчанию установлено 100 соединений.
Каждое соединение PostgreSQL потребляет ОЗУ для управления соединением или клиентом, использующим его. Чем больше соединений у вас есть, тем больше оперативной памяти вы будете использовать.
Увеличить max_connections и shared_buffers можно в /Postgresql/data/postgresql.conf.
Например, количество соединений необходимо увеличить при большом количестве терминалов (>10) и мобильных устройств (>5) – изменить
max_connections = 100
shared_buffers = 24MB
на
max_connections = 300
shared_buffers = 128MB
Параметр конфигурации shared_buffers определяет, сколько памяти предназначено PostgreSQL для кэширования данных.
- Если у вас есть система с ОЗУ более 1 ГБ, рекомендуем установить начальное значение для shared_buffers равное 1/4 памяти системы.
- Маловероятно, что вы найдете более 40% ОЗУ для работы лучше, чем меньшая сумма (например, 25%).
- Для 32-разрядных сборок ОС или PostgreSQL 32-разрядная нецелесообразно устанавливать shared_buffers выше 2 ~ 2,5 ГБ.
- Обратите внимание, что в Windows большие значения для shared_buffers не так эффективны – оставьте их относительно низкими и используйте кэш ОС для лучших результатов В Windows полезный диапазон составляет от 64 МБ до 512 МБ.
Внимание! После изменения значений требуется перезапустить службу PostgreSQL.
Подключение к базе
Модуль SetConfig
В каталоге SetConfig содержатся вспомогательные программы для получения и записи IP-адреса сервера базы данных:
- ServerIP покажет текущий IP-адрес сервера;
- SetConfig позволит указать адрес вручную.
Автоматический поиск сервера базы данных
Для автоматического поиска сервера необходимо запустить Waiter на главном компьютере и перейти в настройки.
После этого запустить Waiter на клиентской машине – откроется окно:
Нажмите кнопку Find и в открывшемся списке выберите нужный сервер – настройки автоматический пропишутся в модуле Waiter и UpdaterService.
Настройка модуля с помощью файла config.ini
В каталоге с каждым модулем расположен файл config.ini – он необходим для настроек модуля.
По умолчанию в файле содержится следующее:
[Database] Host=localhost DBName=Restaurant Port=5432 [Language] default=en
Обратите внимание, что некоторые параметры, такие как Port или DBName, могут отсутствовать, поэтому по умолчанию берутся значения, указанные сверху.
Проверка подключения к базе данных
Если сервис не смог подключится к базе данных, создается файл sqlLog.txt – в нем содержится информация об ошибке подключения. Данный файл создается библиотекой подключения к базе, если файл отсутствует, то создается новый, в противном случае информация дописывается.
Для проверки подключения сервиса к базе можно удалить этот файл. Если он появился, значит сервис не может подключиться к базе. Стоит обратить внимание, что данное логирование ошибки подключения к базе доступно только у сервиса обновления.
Вопросы и ответы F.A.Q.
Вопрос 1
При запуске Waiter появляется сообщение «Error connecting to the database. Check your network connection and try again».
Ответ
Причина 1. Возможная причина – некорректная установка сервера базы данных PostgreSQL. Проверьте имя пользователя и компьютера – они должны быть указаны на английском языке.
Переименование пользователя в данном случае не подходит, так как операционная система оставляет домашнюю папку пользователя на прежнем языке.
Причина 2. Работает фаервол или брандмауер. Необходимо отключить фаервол и бранмауер, чтобы они не могли блокировать подключения к PostgreSQL.
Вопрос 2
Сервер базы данных не запускается (нет подключения к базе) и папка C:\Program Files\PostgreSQL\9.2\data\ пустая, также появляется ошибка post-install.
Ответ
Проблема в правах на папку C:\Program Files\PostgreSQL\9.2\data\ – инициализация сервера завершалась аварийно после попытки проверить наличие прав на запись в нее. Необходимо проверить в свойствах папки PostgreSQL на вкладке «Безопастность» наличие NETWORK SERVICE с особыми правами. Если службы нет, то лучше создать нового пользователя – простая переустановка программы здесь не поможет.
Вопрос 3
При запуске SeverIP появляется два IP-адреса или ни одного.
Ответ
Если появляется больше двух IP-адерсво, скорее всего, на компьютере одновременно работают два сетевых адаптера, например сетевая карта (проводной интернет) и USB-модем (мобильный интернет). Необходимо оставить включенным только основной адаптер.
Если нет ни одного – отсутствует соединение. Проверьте подключение к интернету.