簡體   English   中英

由於websocket和Apache,服務器上的高負載

[英]High Load on server due to websocket and Apache

我們有2台服務器(Ubuntu 14.04-4vCPU和12 GB RAM),運行帶有Apache 2.4.7的codeigniter應用程序。 這些服務器也是負載平衡的。 我們平均一次有300位用戶訪問該網站,並且該網站在許多區域都具有刷新功能。 因此我們引入了websockets來減少負載。 但是即使引入了這些,我們也面臨着高負荷。 節點正在這些服務器之一上運行。 啟用mod_status后,我可以看到沒有為Apache打開新的連接。

虛擬主機

<VirtualHost *:443>
    ServerName  domain.com
    ServerAlias www.domain.com
    DocumentRoot /var/www/html/domain
    SSLEngine on
    SSLProxyEngine On
    SSLCertificateFile /etc/apache2/ssl/domain-ssl/a.crt
    SSLCertificateKeyFile /etc/apache2/ssl/domain-ssl/domain.key
    SSLCertificateChainFile /etc/apache2/ssl/domain-ssl/gd_bundle.crt
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

   RewriteEngine On
   RewriteCond %{REQUEST_URI}  ^/node/socket.io [NC]
   RewriteCond %{QUERY_STRING} transport=websocket [NC]
   RewriteRule "^/node/socket.io"  "ws://IPADDRESS:8080/socket.io/" [P,L]
   ProxyPreserveHost On
   ProxyRequests off
</VirtualHost>
<Location /node/>
       RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
       RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
       ProxyPass http://IPADDRESS:8080/ connectiontimeout=3 timeout=3 retry=0
       ProxyPassReverse http://IPADDRESS:8080/
</Location>

請讓我知道您需要對此進行調查的詳細信息。 謝謝

我為節點和Redis安裝了單獨的服務器,這減少了負載。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM