如何查看当前的oracle是单机还是集群

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查看当前的oracle是单机还是集群相关的知识,希望对你有一定的参考价值。

1.
以管理员登录Oracle;
sqlplus
/
as
sysdba
2.
登录成功后,输入show
parameter
cluster_database;如果value的值为FALSE,说明是单机;如果value的值为TRUE,说明为RAC。
参考技术A sqlplus
用dba用户登录后,
执行如下命令:
how
parameters
cluster_database;
结果为true
是集群,否则为单机
参考技术B sqlplus / as sysdba;
show parameters cluster_database;
如果显示结果为true,则是集群,否则是单机。

kafka 单机/集群压力测试

参考技术A

由于kafka吞吐量特别大,所以先考虑集群服务器的自身瓶颈,因为现在测试的是单机所以只会涉及到磁盘IO以及cpu,但是对于kafka来说对于cpu的使用还是可以忽略不计的,

1.1磁盘IO写入瓶颈
使用以下命令测试磁盘IO的写入瓶颈
sync;time -p bash -c "(dd if=/dev/zero of=test.dd bs=1M count=20000)"
说明: 在当前目录下创建一个test.dd的文件,写入20000个1M的数据
磁盘写入IO的结果
可以看到平均就是187MB/s

1.2 使用iostat命令监测磁盘io情况
使用命令
# iostat -x 1
说明: 扩展查看io性能,每秒刷新一次
注意: 如果没有iostat,请执行 yum install sysstat -y 进行安装 iostat命令

关注wkB/s和%util两个参数

wkB/s:每秒写入设备的数据量(单位:KB)

%util:消耗在I/O请求中的CPU时间百分比(设备带宽利用率)。如果该值接近100%说明设备出现了瓶颈。
如图现在这台机器的磁盘IO极限值为187MB/s

1.3 单机版测试kafka性能
因为测试的次数比较多,也没有去找kafka中数据存储设置,所以就使用docker部署单机版的kafka (因为测试的数据比较多,也就多次的删除了容器,重新启动镜像)
新建目录:
mkdir /usr/local/kafka_test
dockerfile

run.sh

sources.list

目录结构如下:

生成镜像
docker build -t kafka_test /usr/local/kafka_test
启动kafka
docker run -d -it kafka_test

测试结果

从表格中可以看出来五个分区就已经是极限了

结果分析
这中间并没有设置条数/每秒,所以就是按照kafka 就会按照量级自动的吞入数据,如果我们需要对于消息的即时性做控制,还需要再重新测试一下,按照业务的延迟找到最合适的数量(单机版,然后再部署集群,测试适合的数量)

集群测试:
部署就不再这里说明了
本次测试的是三台机器集群

测试结果:

之后还测试了9个分区的topic 因为空间不足所以就没有继续测下去,但是看部分数据还超过了500MB/s还是有上升空间的

1.3 磁盘IO 读取瓶颈
使用一下命令测试磁盘IO的读取瓶颈
hdparm -tT --direct /dev/vda
说明: hdparm命令是显示与设定硬盘的参数, -t参数为评估硬盘的读取效率(不经过磁盘cache), -T参数为评估硬盘的读取效率(经过磁盘cache).

以上是关于如何查看当前的oracle是单机还是集群的主要内容,如果未能解决你的问题,请参考以下文章

Oracle如何查询当前的crs/has自启动状态

如何查看oracle用的啥字符集

如何查看oracle当前连接数,会话数

oracle 如何查看当前用户的表空间名称

如何查看oracle当前session信息

如何查看oracle临时表空间当前使用了多少空间的大小