Описание модулей

Описание приложений из которых состоит Jowi Setup

Краткое описание модулей

Программа Jowi состоит из нескольких модулей:

Как узнать версию модуля

Узнать версию любого модуля можно с помощью стандартных инструментов Windows.

В папке ...\Program Files\Jowi\ откройте каталог модуля (Sync, Waiter, DataPrint, UpdaterServices). Чтобы узнать версию:

Сервер базы данных PostgreSQL

При установке Jowi будет установлена PosgreSQL – система управления базами данных. При этом установленная ранее СУБД будет удалена.

Перед установкой необходимо:


Конфигурирование PostgreSQL

PostgreSQL не будет использовать памяти больше, чем разрешено настройками – по умолчанию это минимальный объем памяти. При этом не стоит указывать памяти больше, чем доступно к использованию – операционная система начнет использовать файл подкачки со всеми вытекающими печальными последствиями для производительности сервера.

В Windows конфигурационные файлы PostgreSQL находятся в каталоге установки в папке Data:

Файлы текстовые, их можно править с помощью «блокнота». Строки, начинающиеся с #, считаются комментариями и игнорируются.

Параметры, относящиеся к объему памяти, могут дополняться суффиксами kB, MB, GB – килобайты, мегабайты, гигабайты. Параметры, описывающие интервалы времени, могут дополняться суффиксами ms, s, min, h, d – миллисекунды, секунды, минуты, часы, дни.

Внимание! После изменения значений требуется перезапустить службу PostgreSQL.
Буфер сервера

shared_buffers – определяет размер кэша чтения и записи PostgreSQL, общего для всех подключений. Если данные отсутствуют в кэше, они считываются диска (возможно, будут кэшированы ОС).

Если объем буфера недостаточен для хранения часто используемых рабочих данных, то они будут постоянно писаться и читаться из кэша ОС или с диска, что крайне отрицательно скажется на производительности. Но не следует указывать слишком большое значение, иначе не останется памяти для выполнения запросов клиентов и для ОС и прочих приложений. Так же сервер полагается и на кэш ОС и старается не держать в своем буфере то, что скорее всего закэшировано системой.

Рекомендации:

Память для сортировки

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 для кэширования данных.

Внимание! После изменения значений требуется перезапустить службу PostgreSQL.

Подключение к базе

Модуль SetConfig

В каталоге SetConfig содержатся вспомогательные программы для получения и записи IP-адреса сервера базы данных:

image.png

image.png


Автоматический поиск сервера базы данных

Для автоматического поиска сервера необходимо запустить Waiter на главном компьютере и перейти в настройки.

После этого запустить Waiter на клиентской машине – откроется окно:

image.png

Нажмите кнопку 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-модем (мобильный интернет). Необходимо оставить включенным только основной адаптер.

Если нет ни одного – отсутствует соединение. Проверьте подключение к интернету.