Kubernetes

Менеджмент ресурсов подов и контейнеров

Ниже описаны минимальные требования к ресурсам MEM/CPU для стабильной работы микросервисов в сочетании с XMX/XMS параметрами java. На данной конфигурации было произведено нагрузочное тестирование в 1000 одновременно работающих пользователей, длительностью в 1 час.

Состав сценария и распределение нагрузки:

  • логин в систему и просмотр главной страницы с загрузкой меню, дашборда, информации о пользователе (20%);

  • просмотр журнала контрактов (30%);

  • переход на страницу просмотра контракта с загрузкой всех виджетов: информация о контракте, действия, задачи, комментарии, связи, история версий и т.д. (30%);

  • просмотр журнала активных задач (30%);

  • создание документов (20%);

  • старт процессов по документам (10%);

  • выполнение задач по процессу (50%).

В ходе нагрузки было сгенерировано 2 043 398 запросов, из них 1 запроса (0.00 %) завершилось с ошибками или превысило лимит времени выполнения.

Среднее время отклика - 6.88 миллисекунд.
Медиана - 6 миллисекунд.
90% всех запросов обрабатывались менее чем за 16 миллисекунд.
95% всех запросов обрабатывались менее чем за 25 миллисекунд.
99% всех запросов обрабатывались менее чем за 47 миллисекунд.

Ecos Registry

EcosRegistryApp:
    environments:
        javaOpts: "-Xmx256m -Xms256m"
    resources: |
        limits:
            cpu: 1
            memory: 1Gi
        requests:
            cpu: 300m
            memory: 1Gi

Ecos Model

EcosModelApp:
    environments:
        javaOpts: "-Xmx256m -Xms256m"
    resources: |
        limits:
            cpu: 2
            memory: 1Gi
        requests:
            cpu: 2
            memory: 1Gi

Ecos Gateway

EcosGatewayApp:
    environments:
        javaOpts: "-Xmx256m -Xms256m"
    resources: |
        limits:
            cpu: 2
            memory: 1Gi
        requests:
            cpu: 2
            memory: 1Gi

Ecos Apps

EcosAppsApp:
    environments:
        javaOpts: "-Xmx256m -Xms256m"
    resources: |
        limits:
            cpu: 1
            memory: 1Gi
        requests:
            cpu: 100m
            memory: 1Gi

Ecos Process

EcosProcessApp:
    environments:
        javaOpts: "-Xmx2G -Xms2G"
    resources: |
        limits:
            cpu: 1
            memory: 3548Mi
        requests:
            cpu: 1
            memory: 3548Mi

Ecos Uiserv

EcosUiservApp:
    environments:
        javaOpts: "-Xmx256m -Xms256m"
    resources: |
        limits:
            cpu: 1
            memory: 1Gi
        requests:
            cpu: 1
            memory: 1Gi

Ecos History

EcosHistoryApp:
    environments:
        javaOpts: "-Xmx256m -Xms256m"
    resources: |
        limits:
            cpu: 1
            memory: 1Gi
        requests:
            cpu: 100m
            memory: 1Gi

Ecos Integrations

EcosIntegrationsApp:
    environments:
        javaOpts: "-Xmx256m -Xms256m"
    resources: |
        limits:
            cpu: 1
            memory: 1Gi
        requests:
            cpu: 100m
            memory: 1Gi

Ecos Notifications

EcosNotificationsApp:
    environments:
        javaOpts: "-Xmx256m -Xms256m"
    resources: |
        limits:
            cpu: 1
            memory: 1Gi
        requests:
            cpu: 100m
            memory: 1Gi

Ecos Transformations

EcosTransformationsApp:
    environments:
        javaOpts: "-Xmx256m -Xms256m"
    resources: |
        limits:
            cpu: 1
            memory: 1Gi
        requests:
            cpu: 100m
            memory: 1Gi

Ecos Ecom

EcosEcomApp:
    environments:
        javaOpts: "-Xmx256m -Xms256m"
    resources: |
        limits:
            cpu: 1
            memory: 1Gi
        requests:
            cpu: 100m
            memory: 1Gi

Ecos Service Desk

EcosServiceDeskApp:
    environments:
        javaOpts: "-Xmx256m -Xms256m"
    resources: |
        limits:
            cpu: 1
            memory: 1Gi
        requests:
            cpu: 100m
            memory: 1Gi

Ecos Edi

EcosEdiApp:
    environments:
        javaOpts: "-Xmx256m -Xms256m"
    resources: |
        limits:
            cpu: 1
            memory: 1Gi
        requests:
            cpu: 100m
            memory: 1Gi

Ecos Content

EcosContentApp:
    environments:
        javaOpts: "-Xmx256m -Xms256m"
    resources: |
        limits:
            cpu: 1
            memory: 1Gi
        requests:
            cpu: 100m
            memory: 1Gi

Ecos Proxy

EcosProxyApp:
    resources: |
        limits:
            cpu: 1
            memory: 512Mi
        requests:
            cpu: 300m
            memory: 256Mi

Microservices Posgtresql

EcosMicroservicesPostgresqlApp:
    resources: |
        limits:
            cpu: 2
            memory: 2Gi
        requests:
            cpu: 2
            memory: 2Gi

Mongo DB

MongoDBApp:
    resources: |
        limits:
            cpu: 500m
            memory: 512Mi
        requests:
            cpu: 300m
            memory: 512Mi

Zookeeper

ZookeeperApp:
    resources: |
        limits:
            cpu: 1
            memory: 1Gi
        requests:
            cpu: 500m
            memory: 1Gi

RabbitMQ

RabbitmqApp:
    resources: |
        limits:
            cpu: 1
            memory: 1Gi
        requests:m
            cpu: 500
            memory: 1Gi

Ecos Indentity

EcosIdentityApp:
    resources: |
        limits:
            cpu: 1
            memory: 1Gi
        requests:
            cpu: 300m
            memory: 1Gi

Onlyoffice

OnlyofficeApp:
    resources: |
        limits:
            cpu: 2
            memory: 2Gi
        requests:
            cpu: 100m
            memory: 2Gi