Сколько памяти в моем iKKM ? *тесты и рекомендации для ЦТО*

В данной статье будут рассмотрены вопросы по переполнению памяти, производительности и что нужно для диагностики и поддержания работы iKKM.

Введение
------
Как вы знаете iKKM может работать в двух режимах - в режиме POS терминала (т.е никакого дополнительного оборудования не требуется) и в режиме ФР, в котором компьютер кассира подключается к iKKM и производит продажи.
Во время работы в режиме POS, в iKKM сохраняется намного больше информации, например сохраняются позиции по чекам с привязкой к справочнику товаров и.т.д.
В случае с режимом ФР, iKKM после удачной передачи чека в ОФД, автоматически удаляет табличную часть чека, оставляя лишь общие данные. Поэтому дальше будут проведены тесты и рекомендации в основном по iKKM в режиме POS.

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

Закроем сразу вопрос переполнения фискальной памяти - переполнить фискальные данные в реальных рабочих условиях не возможно, 
количество смен может легко превышать миллионы, максимальные размеры счетчиков: ± 3.402,823,4*10^38. Поэтому переходим к вопросу о ограничениях базы данных SQL. 

База данных SQL, не хранит фискальные данные, а служит для поддержки функций необходимых для работы современной POS системы.
Таких как выгрузка отчетов по продажам, справочники товаров, кассиров и.т.д.. Соотвественно все эти данные и занимают основной обьем памяти iKKM.

Тесты
------
Условия мы взяли завышенные от реальных.
- товаров в к каждом чеке от 10 до 25 (чуть больше усредненной статистики небольших торговых точек)
- сумма каждого чека от 1000 до 100000 тенге
- количество чеков в смене от 480 до 680 (из условия что чеки беспрерывно проводятся каждую минуту в течении 8-10 часового дня)
- примерно 80% чеков - продажа, остальные - возврат, покупка и.т.д.
- примерно 80% оплат наличностью, остальные смешанные (наличность и банк). 
- сдача по чеку присутствует всегда
- снятие наличности из кассы раз в 1000 смен (для проверки скорости создания z-отчетов)
- количество смен для теста 1 миллион

Тесты проводились с изменением настроек хранения табличной части чеков и деталей всех оплат в течении 1,3 и 12 месяцев. (при условии что они удачно переданы в ОФД и смены закрыты)

Результаты тестов
------
При хранении всех данных за месяц БД занимает 4% накопителя, соответсвенно 
если установлено хранение 3 месяца 12%, год 48.6%, при этом прирост архивных данных около 0.05% в месяц (30-40 смен).

Из этого можно заключить что в режиме POS с включенной очисткой БД (3 месяца по умолчанию) переполнить базу данных не возможно, однако если ВЫключить автоматическую очистку (доступно в меню администратора), в этом случае примерно через 2 года непрерывной работы (в условиях теста) можно все-таки заполнить накопитель iKKM.

Падение производительности при регистрации (продажа, покупка и.т.д.) не заметна, однако при большой SQL базе скорость закрытия смены возможно займет немного больше времени. (около 1.5-2 минут при 3000 сменах и 3 месячной базой)

Отдельно отметим что iKKM при закрытии смены проверяет состояние базы данных, и сообщит кассиру о том что могут возникнуть проблемы (при заполнении 70% дружелюбное напоминание, при 90% более навязчивое). В административных настройках есть вкладка "Архив" в ней вы можете произвести ручную очистку базы данных за нужный период, сделать архив и скачать через WebIKKM.

Справочники товаров и производительность
------
Дизайн iKKM не позволяет оперировать с очень большими данными как полноценный десктоп. И если товарная база превышает 5 тысяч наименований (а это легко если это супермаркет) iKKM следует использовать в режиме ФР, в этом случае вся торговая логика ложится на компьютер кассира, iKKM лишь сохраняет необходимые данные (согласно техническим требованиям КГД РК) и передает их в ОФД.
Если у вас товарная база составляет в среднем 2-3 тысячи наименований, никаких проблем с размером БД и производительностью у вас не будет. (5 тысяч максимальный допустимый размер справочника, однако при таком количестве будет заметно падение производительности iKKM)


Диагностика
------
Некоторые операции требуют обращения в ЦТО, например существует такая особенность: допустим вы установили хранение БД 1 год, в результате через год 50% накопителя оказалось занятым. Изменив в настройках хранение БД на 3 месяца, база перестанет расти, но объем выделеный для годовалой базы сам по себе не сократиться, для того чтобы "сжать" базу данных, необходимо провести принудительную архивацию в сервисном меню.
Если вы обладатель iKKM одной их первой серий (версия ПО 1008 или 1009) необходимо обратится в ЦТО, во первых для обновления пользовательского приложения и удаления временных установочных файлов, которые не удалялись в первых сериях iKKM. 

Заключение
------
И напоследок, в большинстве сценариев использования iKKM, хранить все данные за весь (или долгий период) не имеет смысла, так как вы всегда можете
получить любые данные о продажах на сервере ОФД в кабинете налогоплательщика.




Ваша проблема решена?