我有一个虚拟主机太多的服务器,大约 500 个虚拟主机,其中一半使用 SSL。
所有这些主机都使用 mod_wsgi 为 Django 应用程序提供服务。
我注意到在一定数量的虚拟主机之后,我的所有服务器都停止工作并且所有站点都崩溃了,我可以使用以下行来处理降低每个虚拟主机的线程数:
WSGIDaemonProcess my.domain python-home=/var/www/env python-path=/var/www/my_app threads=1
Run Code Online (Sandbox Code Playgroud)
apache 在达到大约 1300 个线程时崩溃(当我检查 htop 时)。apache的错误日志显示没有找到Django模块,但这不是真正的错误,因为一切正常,只是在vhosts数量过高时发生。所以我认为我在 Linux 中的进程或线程达到了某种限制。我使用的是 Ubuntu 18.04、Apache 2.4,并且有足够的 RAM 和 CPU,服务器有 4 GB 的 RAM 并且只使用了 2 GB,平均 CPU 为 10% 到 20%。
我还检查了我的线程最大限制:
cat /proc/sys/kernel/threads-max
30893
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能在不创建另一台服务器的情况下增加我的 apache 中虚拟主机的容量。