返回首页

gbase数据、南大通用产品文档:GBase8cSTATIO_USER_INDEXES

更新日期:2024年09月11日

STATIO_USER_INDEXES 视图显示当前节点命名空间中所有用户关系表索引的IO 状
态信息。
名称
类型
描述
relid
oid
索引的表的OID。
indexrelid
oid
该索引的OID。
schemaname
name
该索引的模式名。
relname
name
该索引的表名。
indexrelname
name
索引名称。
idx_blks_read
bigint
从索引中读取的磁盘块数。
idx_blks_hit
bigint
索引命中缓存数。

连接性能问题

开启了log_hostname,但是配置了错误的DNS 导致的连接性能问题。
在连接上数据库,
通过show log_hostname 语句,
检查数据库中是否开启了log_hostname
参数。
如果开启了相关参数,那么数据库内核会通过DNS 反查客户端所在机器的主机名。这
时如果数据库主节点配置了不正确或不可达的DNS 服务器,那么会导致数据库建立连接过
程较慢。此参数的更多信息,详见《GBase 8c V5_3.0.0_开发者指南》中“GUC 参数说明>
错误报告和日志> 记录日志的内容”章节中关于“log_hostname”的描述。

数据库内核执行初始化语句较慢导致的性能问题。
此种情况定位较难,可以尝试使用Linux 的跟踪命令strace。
strace gsql -U user_name -W password -d dbname -h host -p port -r -c '\q'
此时便会在屏幕上打印出数据库的连接过程。例如,较长时间停留在下面的操作上:

GBase 8c 工具参考手册
南大通用数据技术股份有限公司
42
sendto(3, "Q\0\0\0\25SELECT VERSION()\0", 22, MSG_NOSIGNAL, NULL, 0) = 22
poll([{fd=3, events=POLLIN|POLLERR}], 1, -1) = 1 ([{fd=3, revents=POLLIN}])
此时便可以确定是数据库执行SELECT VERSION()语句较慢。
在连接上数据库后,
便可以通过执行explain performance select version()语句来确定初始
化语句执行较慢的原因。
更多信息,
详见
《GBase 8c V5_3.0.0_开发者指南》

“性能调优>
SQL 调优指南> SQL 执行计划介绍”章节。
另外还有一种场景不太常见:
由于数据库主节点所在机器的磁盘满或故障,
此时所查询
等受影响,无法进行用户认证,导致连接过程挂起,表现为假死。解决此问题清理数据库主
节点的数据盘空间便可。

TCP 连接创建较慢问题。
此问题可以参考上面的初始化语句较慢排查的做法,通过strace 跟踪。
例如,如果长时间停留在:
connect(3, {sa_family=AF_INET, sin_port=htons(61052),
sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EINPROGRESS (Operation now in
progress)
那么说明客户端与数据库端建立物理连接过慢,
此时应当检查网络是否存在不稳定、

络吞吐量太大的问题。

GBASE Data Server .NET Provider(有时称为 Common .NET 提供程序)是用
于应用程序开发的下一代 .NET 提供程序。
此 .NET 提供程序包含若干功能
(特

GBase 8s 客户机产品安装指南
南大通用数据技术股份有限公司 - 7 -
别是在 Web 应用程序开发方面),使其成为新客户机开发领域的首选 .NET 提
供程序。
Data
Server
.NET
Provider 与几种不同的 GBASE 数据服务器(包括 Gbasedbt
®、DB2
®
for
Linux™,
UNIX™,
and
Windows™ 以及 U2)
一起使用。
此提供程序由两个不同的 .NET
提供程序组合件组成,这些组合件是针对非常具体的应用程序开发者需求而设计的: