gpt4 book ai didi

mysql - 如何查找在 PostgreSQL 和 MySQL 中运行查询的 CPU 和 RAM 使用情况

转载 作者:行者123 更新时间:2023-12-03 10:01:30 26 4
gpt4 key购买 nike

我正在尝试计算安装在 ubuntu 18.04 中的 PostgreSQL 和 MySQL 的 RAM 和 CPU 使用率。在两个数据库中运行以下查询时,具有相同的工作负载 (TPCH)。

select l_returnflag, l_linestatus, sum(l_quantity) as sum_qty, sum(l_extendedprice) as sum_base_price, sum(l_extendedprice * (1 - l_discount)) as sum_disc_price, sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge, avg(l_quantity) as avg_qty, avg(l_extendedprice) as avg_price, avg(l_discount) as avg_disc, count(*) as count_order from LINEITEM where l_shipdate <= date '1998-12-01' - interval '108' day group by l_returnflag, l_linestatus order by l_returnflag, l_linestatus;

在 PostgreSQL 中,我使用以下命令来捕获更改。
ps -a -U root -u postgres -0 pid,cmd,pcpu,pmem,thcount,psr|grep "postgres: 10/main: postgres"|grep -v "grep"

为 postgreSQL 捕获的测量值是:
Response time: 6270,516 ms
%RAM: 0,45
%CPU: 44,009
Threads:1
Cores used: 4

在 Mysql 中,我使用以下命令来捕获更改。
ps -e -0 pid,cmd,pcpu,pmem,thcount,psr|grep "/usr/sbin/mysqld --daemoniz"|grep -v "grep"

为 Mysql 捕获的测量值是:
Response time: 13348,161 ms
%RAM: 3.82
%CPU: 99.76
Threads:28
Cores used: 4

如果我再次捕获指标,两个数据库的 %CPU 都会发生变化(大约 10% 到 30% 的差异),这种变化的原因是什么?

与 postgreSQL 相比,Mysql 中查询的 RAM、CPU 和响应时间百分比非常高,这背后的原因是什么?还是有其他方法可以做到这一点?

最佳答案

差异可能与缓存和每个数据库引擎的不同优化有关。

以下是如何在 Postgres 中清除缓存:

service postgresql stop
sync
echo 3 > /proc/sys/vm/drop_caches
service postgresql start

在 MYSQL 中:

RESET QUERY CACHE;

你可以使用 suggested in this post 方法来监控一段时间内的过程。

关于mysql - 如何查找在 PostgreSQL 和 MySQL 中运行查询的 CPU 和 RAM 使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59591211/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com