Оптимизация сервиса VDI broker API

Для ускорения выдачи IP-адресов виртуальных машин конечному пользователю при высокой нагрузке сервиса рекомендуется настроить Reverse Proxy. При этом запросы на получение IP-адреса будут обрабатываться отдельной службой Broker API.

Настройка служб

Настройте две службы systemd:

  • Конфигурационный файл службы для обработки общих запросов tionix-vdi-broker-api.conf:

    [Unit]
    Description=TIONIX.VDIserver Broker API service
    After=syslog.target network.target rc-local.service
    
    [Service]
    User=tionix
    Group=tionix
    PrivateTmp=true
    Type=simple
    Restart=always
    Environment=PROFILER_NAME=profiler_broker_api.log
    ExecStart=/usr/bin/gunicorn --bind=127.0.0.1:19365 --workers=3 --threads=10 tionix_vdi_server.api.vdi_broker_api.wsgi
    
    [Install]
    WantedBy=multi-user.target
    
  • Конфигурационный файл службы для обработки запросов на /v1/get-vm и tionix-vdi-broker-api-2.conf:

    [Unit]
    Description=TIONIX.VDIserver Broker API service
    After=syslog.target network.target rc-local.service
    
    [Service]
    User=tionix
    Group=tionix
    PrivateTmp=true
    Type=simple
    Restart=always
    Environment=PROFILER_NAME=profiler_broker_api_getvm.log
    ExecStart=/usr/bin/gunicorn --bind=127.0.0.1:19366 --workers=3 --threads=10 tionix_vdi_server.api.vdi_broker_api.wsgi
    
    [Install]
    WantedBy=multi-user.target
    

Настройка Reverse Proxy на примере Apache

Конфигурационный файл Apache tionix-vdi-broker-api.conf:

Listen 9365

<VirtualHost *:9365>
CustomLog logs/tionix-vdi-broker-api-access.log combined

ProxyPreserveHost On

ProxyPass /v1/get-vm/ http://127.0.0.1:19366/v1/get-vm/ max=30 timeout=1800
ProxyPassReverse /v1/get-vm/ http://127.0.0.1:19366/v1/get-vm/

ProxyPass / http://127.0.0.1:19365/ max=30 timeout=1800
ProxyPassReverse / http://127.0.0.1:19365/
</VirtualHost>