![]() |
1
6
pgfouine 对我来说相当好。看起来有一个 FreeBSD port 为了它。 |
![]() |
2
8
数据库优化通常是两个方面的结合
减少查询量通常是通过缓存非易失性/不太重要的数据来完成的(例如,“哪些用户在线”或“此用户的最新文章是什么?”)在应用程序内部(如果可能)或外部(更高效)数据存储(memcached、redis等)。如果你有写得很重的信息(如计数器),而且不需要 ACID -语义您还可以考虑将它从Postgres数据库移到更高效的数据存储中。 优化查询运行时更复杂-这可能意味着创建 special indexes (或) indexes in the first place ,更改(可能取消规格化)数据模型或更改应用程序在处理数据库时所采用的基本方法。例如,请参见 Pagination done the Postgres way 说话 Markus Winand 如何重新思考分页的概念以提高数据库的效率 缓慢地测量查询但要了解首先应该查看哪些查询,您需要知道它们的执行频率以及平均运行时间。
一种方法是记录所有(或“慢速”)查询,包括它们的运行时,然后分析查询日志。一个很好的工具是
两个
通过扩展来加快速度
为了解决这些缺点,现在有两个扩展可以直接在数据库中跟踪查询性能。-
理解数据
从信息的角度来看,查询列表本身非常“枯燥”。已经有第三个扩展的工作试图解决这个事实,并提供更好的数据表示称为
为了给这个问题提供一个更方便的解决方案,我开始着手于一个专注于
为了简要概述Postgres监控领域中的有趣工具和项目,我还开始在 Postgres Wiki 定期更新。 |
![]() |
3
3
我用过PGtop一点。它相当粗糙,但至少我可以看到为每个进程ID运行的查询。 我试过pgfoine,但如果我记得的话,它是一个离线工具。 我还跟踪psql.log文件,并将日志记录标准设置为可以看到问题查询的级别。
我还使用ems postgres manager做一般管理工作。它不为您做任何事情,但它确实使大多数任务变得更容易,并且使查看和设置模式变得更简单。我发现在使用GUI时,发现不一致性(如缺少索引、字段标准等)对我来说要容易得多。这只是我愿意在Mac上使用vmware的两个程序中的一个。 |
![]() |
4
2
Munin非常简单但有效,可以获得数据库随时间变化和性能的趋势。在munin的标准工具包中,您可以监控数据库的大小、锁的数量、连接的数量、顺序扫描、事务日志的大小和长时间运行的查询。 易于设置和开始,如果需要,你可以很容易地编写自己的插件。 查看munin随附的最新PostgreSQL插件: http://munin-monitoring.org/browser/branches/1.4-stable/plugins/node.d/ |
![]() |
5
1
首先,使用“explain”尝试psql中的所有查询,看看是否有顺序扫描可以通过添加索引或重写查询转换为索引扫描。 除此之外,我对这个问题的答案和你一样感兴趣。 |
![]() |
6
1
看看Lightning Admin吧,它有一个用于捕获日志语句的GUI,虽然不是完美的,但对于大多数需求来说非常有用。 http://www.amsoftwaredesign.com |
![]() |
7
-1
德图纳 http://www.dbtuna.com/postgresql_monitor.php 最近开始支持PostgreSQL监控。我们广泛使用它来监控MySQL,所以如果它为Postgres提供了相同的功能,那么它也应该很适合您。 |
![]() |
giantjenga · 优化整数向量到二进制向量的转换 8 月前 |
![]() |
Daniel Lobo · 使用约束进行优化 8 月前 |
![]() |
Imyaf · 在什么条件下,在组装时对“if”和“if-else”进行比较? 12 月前 |
![]() |
Sergio · python中大量数字的乘法 1 年前 |
![]() |
Sergey Dev · 临时表与表变量 1 年前 |
![]() |
John · 减少C中的内存消耗++ 1 年前 |