我正在尝试优化我的Laravel网络应用程序运行的Digital Ocean droplet,并注意到MySQL一直在使用1GB内存的50%。到目前为止,the most common和well-attested method减少MySQL的内存占用是通过在/etc/mysql/my.cnf
中设置performance_schema = 0
来禁用其性能模式功能。
然而,我还没有看到任何回答提到这个功能到底是做什么的,为什么默认情况下启用它,以及禁用它的影响。对我来说,这似乎太好了,不像是真的,虽然我完全支持优化,但我也不想损害我的网络应用服务器的完整性。
1条答案
按热度按时间qc6wkl3g1#
performance_schema用于监视和检测MySQL服务器,许多类型的监视工具可能依赖于它,我将不描述它监视的具体事件,因为它在manual中。
您可以在不启用performance_schema的情况下运行MySQL Server,但监视功能会受到影响。如果禁用监视功能,您将无法诊断性能问题或资源使用情况。
IT行业越来越意识到监控是服务器和基础设施的一个重要特性。我认为禁用MySQL Server中的performance_schema来获得仅仅512MB的内存并不是一个好的折衷。如果您在内存上受到如此限制,那么您应该重新考虑MySQL Server是否是您平台的正确技术选择。