繁体   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