我正在研究Postgresql支持的应用程序.
在具有4GB RAM的现代Xeon上,cpu使用率不断超过50%.在50%的cpu利用率中,67%是“用户”,33%是“系统”(这是Linux机器.)系统根本不在等待I / O.
我想知道我怎么能看到这个cpu时间如何崩溃.
您是否认为通过转移到准备好的语句可以显着减少用户cpu时间?即,sql解析时间,查询计划时间等是否会占用这么多cpu?一些查询非常粗糙(500-1000个字符加上.)
任何人都可以确认Postgresql是否自动规范化ad-hoc查询并为它们缓存查询计划,实际上使它们与预准备语句一样高效(加上sql解析时间)?
我可能会实现一些更高级别的缓存来解决这个问题,但我很想知道是否有人认为将这个应用程序移动到准备好的语句是值得的.
假设您定期
VACUUM数据库(这是Postgresql性能问题的标准来源),我认为赢得最佳性能的方法是
原文链接:https://www.f2er.com/postgresql/191995.htmla)tune your安装for performance基于您所在的机器和
b)analyze each query并查明是否可以进一步优化.
通过将查询移动到存储过程中,我真的不会想到太多.