我有 Red Hat 6,并且安装了 Lighttpd + MySQL,此刻出现 500 内部服务器错误,日志显示我大约有 2000 个请求/秒,而一旦请求数降到 1000 以下,网站就会再次开始加载。
我想知道如何才能增加这个限制。
我的机器有 20 个 CPU、128GB RAM,所以我怀疑这是机器问题 :S
我使用 FastCGI,而网站PHP语言。
答案1
您的瓶颈是 PHP,而不是 Lighttpd。
您正在测试什么?静态页面还是echo "Hello World"
更复杂的页面?
如果你没有配置用户空间应用和操作系统以充分利用它们,那么仅仅因为你有 20 个核心和 128GB 的 RAM 也没有任何意义,
答案2
那是不是说明你根本没有配置fastcgi呢?
PHP_FCGI_CHILDREN
并且PHP_FCGI_MAX_REQUESTS
应该是您在开始使用新的 fcgi 服务器时调整的值。请注意,将最大子代数设置为非常高的水平可能会在短期基准测试中证明效果很好,但会导致您当前运行的脚本在某个时候消耗超过最大内存 - 因此,当您进行基准测试时 - 使用真实脚本进行基准测试,并在您监控机器状态时保持一段时间。
如果您还没有提供任何有关所运行脚本的信息,那么就无法判断瓶颈可能在哪里。可能是由于缓存使用不当导致 MySQL 的 I/O 等待,或者是繁重/编写不当的 php 脚本,或者很多其他东西。