Mosquitto aumentando o limite máximo de conexão no Ubuntu 14.04

0

Estou tentando aumentar a conexão máxima de arquivos abertos do corretor Mosquitto. Mas eu li que o acréscimo de conexões simultâneas não é controlado apenas pelo Mosquitto. De acordo com o nosso studey decidimos por 1 lakh de conexão simultânea, estamos direcionando 1,6 GB de RAM. Mas para testar eu tenho que aumentar de 1024 conexões padrão para 20000 Confihurations do ambiente de teste: t2. micro servidor AWS com 64 MB de sistema operacional 14.04 Ubuntu. Alterar o limite de conexão na configuração do mosquito não está refletindo. Qual será o motivo? Precisamos alterar qualquer configuração relacionada ao AWS Server? Por favor, veja abaixo as configurações:

Nossas conexões abertas em todo o sistema são configuradas como:  em /etc/sysctl.conf

    fs.file-max =99905

Executar o comando sysctl -p ou cat / proc / sys / fs / file-max está refletindo as alterações

Em /etc/security/limits.conf

    ubuntu          hard     nofile         45000
    ubuntu          soft     nofile         35000

O Mosquitto é instalado sob o usuário 'Ubuntu'.

Também adicionamos abaixo a linha de código em /etc/pam.d/common-session

    session required pam_limits.so

Executando o comando ulimit -a no usuário do Ubuntu está dando o seguinte resultado:

    core file size          (blocks, -c) 0
    data seg size           (kbytes, -d) unlimited
    scheduling priority             (-e) 0
    file size               (blocks, -f) unlimited
    pending signals                 (-i) 7859
    max locked memory       (kbytes, -l) 64
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) 35000
    pipe size            (512 bytes, -p) 8
    POSIX message queues     (bytes, -q) 819200
    real-time priority              (-r) 0
    stack size              (kbytes, -s) 8192
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) 7859
    virtual memory          (kbytes, -v) unlimited
    file locks                      (-x) unlimited

Também adicionei linhas abaixo em /etc/init/mosquitto.conf

limite nofile 20000 20000

Abaixo está a configuração em /etc/mosquitto/mosquitto.conf:

        # change user to ubuntu
        user ubuntu

$ sudo vim /etc/init.d/mosquitto

        #! /bin/bash
        # Change /bin/sh to /bin/bash for fixing "ulimit -u illegal option" error

        set_ulimit () {
            ulimit -f unlimited
            ulimit -t unlimited
            ulimit -v unlimited
            ulimit -n 20000
            ulimit -m unlimited
            ulimit -u 20000
        }

        start)
            ...
            # Update ulimit config in start command
            set_ulimit
            ...
            ;;
          stop)

Mas a execução do comando cat / proc / 4957 / limits ainda está mostrando o valor padrão 1024 de arquivos abertos:

    Limit                     Soft Limit           Hard Limit           Units
    Max cpu time              unlimited            unlimited            seconds
    Max file size             unlimited            unlimited            bytes
    Max data size             unlimited            unlimited            bytes
    Max stack size            8388608              unlimited            bytes
    Max core file size        0                    unlimited            bytes
    Max resident set          unlimited            unlimited            bytes
    Max processes             7859                 7859                 processes
    Max open files            1024                 4096                 files
    Max locked memory         65536                65536                bytes
    Max address space         unlimited            unlimited            bytes
    Max file locks            unlimited            unlimited            locks
    Max pending signals       7859                 7859                 signals
    Max msgqueue size         819200               819200               bytes
    Max nice priority         0                    0
    Max realtime priority     0                    0
    Max realtime timeout      unlimited            unlimited            us

4957 -é o id do processo do Mosquitto

Alguma ideia de como resolver isso

    
por user3774820 12.12.2016 / 11:40

1 resposta

-1

Eu corri para isso também, parece que executar o serviço de mosquito e executar o mosquito com o comando tem resultado diferente.

tente executar um mosquito como este mosquitto -c mosquitto.conf

mas é irritante você ter que fazer isso toda vez que você reiniciar. Ainda estou procurando uma maneira de executar o serviço com o valor correto do nofile.

    
por Maxi Wu 17.05.2017 / 13:11