代码之家  ›  专栏  ›  技术社区  ›  nybre

含杂质的肾动脉非常缓慢

  •  2
  • nybre  · 技术社区  · 6 年前

    我使用堆栈部署了一个Shinyapps:r、Docker和Shinyproxy,到目前为止,这些工具非常适合用户。但是,我在负载平衡方面遇到了一些困难,这样当我在解决方案上运行更新时,我可以扩展并停止打扰用户。

    建议来自 https://www.shinyproxy.io/shinyproxy-containers/ ,我经历了这个过程,但是使用 https://github.com/openanalytics/shinyproxy-config-examples/tree/master/02-containerized-docker-engine 集装箱船用发动机。当我运行JavaJAR SyyYPROXY-2.0.3.jar没有被容器化时,我的解决方案运行得很好。 但是现在当我把它装起来的时候,它会变得非常慢,甚至在内部网络活动的情况下也会受到影响,当我试图打开它们的时候,容器会被压碎。

    目前,我只是想测试一下,集装箱运输的Shinyproxy是否可以在不给我问题的情况下工作,但是失败了。

    服务器上的我的nginx配置

    server {
    
            root /var/www/html;
    
            # Add index.php to the list if you are using PHP
            index index.html index.htm index.nginx-debian.html;
    
            server_name qnumsolutions.com www.qnumsolutions.com;
    
            location / { 
           proxy_pass          http://127.0.0.1:8080/;
    
           proxy_http_version 1.1;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection "upgrade";
           proxy_read_timeout 600s;
    
           proxy_redirect    off;
           proxy_set_header  Host             $http_host;
           proxy_set_header  X-Real-IP        $remote_addr;
           proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
           proxy_set_header  X-Forwarded-Protocol $scheme;
            }
    
        listen [::]:443 ssl ipv6only=on; # managed by Certbot
        listen 443 ssl; # managed by Certbot
        ssl_certificate /etc/letsencrypt/live/qnumsolutions.com/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/qnumsolutions.com/privkey.pem; # managed by Certbot
        include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
    }
    

    Shinyproxy应用程序.yml

    proxy:
      title: The Operational Intelligence Solution
      logo-url: http://qnum.co.za/wp-content/uploads/2018/03/OI-Solution-Icon.png
      landing-page: /
      heartbeat-rate: 100000
      heartbeat-timeout: 600000
      port: 8080
      authentication: simple 
      container-log-path: ./container-logs
      admin-groups: admin
      usage-stats-url: http://159.65.95.235:8086/write?db=shinyproxy_usagestats
      # Example: 'simple' authentication configuration
      users:
      - name: info@qnum.co.za
        password: prupr1.
        groups: admin
      docker:
        url: http://localhost:2375
        port-range-start: 20000
      specs:
      - id: OISolution1
        description: Application is designed to help organisations use advanced analytics to manage product visibility and variance
        container-cmd: ["R", "-e shiny::runApp('/root/hostedoi')"]
        container-image: oisolution
        container-volumes: ["/home/shiny/database:/mnt/persistent1"]
        access-groups: admin
      - id: OISolution2
        description: Application is designed to help organisations use advanced analytics to manage product visibility and variance
        container-cmd: ["R", "-e shiny::runApp('/root/hostedoi1')"]
        container-image: oisolution1
        container-volumes: ["/home/shiny/database:/mnt/persistent1"]
        access-groups: admin
    
    logging:
      file:
        shinyproxy.log
    

    文档文件

    FROM openjdk:8-jre
    
    RUN mkdir -p /opt/shinyproxy/
    RUN wget https://www.shinyproxy.io/downloads/shinyproxy-2.0.3.jar -O /opt/shinyproxy/shinyproxy.jar
    COPY application.yml /opt/shinyproxy/application.yml
    
    WORKDIR /opt/shinyproxy/
    CMD ["java", "-jar", "/opt/shinyproxy/shinyproxy.jar"]
    

    最后,Sudo Docker PS收益率

    CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                    NAMES
    bc396c8bd26a        ois-shinyproxy      "java -jar /opt/shin…"   About a minute ago   Up About a minute   0.0.0.0:8080->8080/tcp   clever_beaver
    

    我咨询的其他链接: https://fly.io/articles/load-balancing-a-fleet-of-docker-containers-using-fly/

    非常感谢您的帮助。

    1 回复  |  直到 6 年前
        1
  •  4
  •   bellackn    6 年前

    好像你的 usage-stats-url . 可能是防火墙或其他东西阻止了Shinyproxy到达这个目的地?我可以复制这种缓慢的行为,但当我评论这句话时,它就消失了。

    除此之外,您的 application.yml 关于码头工人。我对它做了一些修改,并用这个配置在本地计算机上运行它。( nginx.conf 码头文件只是稍微改动一下以满足我的需要 docker-compose ):

    proxy:
      title: The Operational Intelligence Solution
      logo-url: http://qnum.co.za/wp-content/uploads/2018/03/OI-Solution-Icon.png
      landing-page: /
      heartbeat-rate: 100000
      heartbeat-timeout: 600000
      port: 8080
      authentication: simple 
      container-log-path: ./container-logs
      admin-groups: admin
      #usage-stats-url: http://159.65.95.235:8086/write?db=shinyproxy_usagestats
      # Example: 'simple' authentication configuration
      users:
      - name: info@qnum.co.za
        password: prupre35A21.
        groups: admin
      docker:
        internal-networking: true
      specs:
      - id: 01_hello
        display-name: Hello Application
        description: Application which demonstrates the basics of a Shiny app
        container-cmd: ["R", "-e", "shinyproxy::run_01_hello()"]
        container-image: openanalytics/shinyproxy-demo
        container-volumes: ["/tmp:/mnt/persistent1"]
        container-network: shinyproxy_slow_default
        access-groups: admin
      - id: 06_tabsets
        container-cmd: ["R", "-e", "shinyproxy::run_06_tabsets()"]
        container-image: openanalytics/shinyproxy-demo
        container-volumes: ["/tmp:/mnt/persistent1"]
        container-network: shinyproxy_slow_default
        access-groups: admin
    
    logging:
      file:
        shinyproxy.log
    

    我什么都跑了 码头工人组成 见:

    version: "3.1"
    
    services:
      web:
        image: nginx:alpine
        ports:
          - 80:80
          - 443:443
        volumes:
          - ./nginx.conf:/etc/nginx/conf.d/default.conf
    
    
      shinyproxy:
        image: sp_test
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
          - ./application.yml:/opt/shinyproxy/application.yml