返回顶部
首页 > 资讯 > 操作系统 >PostgreSQL运行在FreeBSD和Linux的表现的测试数据是什么
  • 406
分享到

PostgreSQL运行在FreeBSD和Linux的表现的测试数据是什么

2023-06-16 17:06:41 406人浏览 泡泡鱼
摘要

今天就跟大家聊聊有关postgresql运行在FreeBSD和linux的表现的测试数据是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。今天下午我本想测试下DraGonFly d

今天就跟大家聊聊有关postgresql运行在FreeBSD和linux的表现的测试数据是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

今天下午我本想测试下DraGonFly dports, 突然我想为什么不比较下Postgresql在BSD和Linux下的性能的差异。 为此我定了一些标准来比较在不同操作系统上的性能差异。 我使用相同的硬件和软件以便更准确的获得数据。这些测试是基于PGSQL9.1下的。

当我在 Debian Linux 下测试之后,结果令我非常吃惊,于是我又在其他的Linux系统做了测试, 如类Redhat的Centos6.4。

以下是我测试的一些操作系统:

  • DragonFlyBSD 3.4.1 (Hammer)

  • FreeBSD 9.1-p3 (UFS2+J)

  • FreeBSD 9.1-p3 (ZFS v28)

  • Debian 7: Wheezy (ext4, kernel 3.2)

  • Debian 7: Wheezy (ext4, kernel 3.2, barrier=0)

  • Centos 6.4 (ext4, kernel 2.6.32)

  • Centos 6.4 (ext4, kernel 2.6.32, nobarrier)

对于硬件部分,我使用的是基于KVM (libvirt)系统的24G内存和一个Phenom x6 1055T 处理器。版本如下:

qemu 1.4.1-3  libvirt 1.0.5-4

每个虚拟机都使用相同的配置:

  • 50GB 硬盘 (除了 FreeBSD)

  • 12GB 内存

  • 4核 CPU

现在测试。命令遵循: pgbench -T 60 -cX -jX

数据库上60秒内做 pgbench 实例测试,使用X用户和X线程(一个线程一个用户)

每个数据库都是默认的配置,同时支持300个需求同时连接

***部分:虚拟驱动

***个图展示了实时事务处理量,第二个图是每秒事务处理量。

PostgreSQL运行在FreeBSD和Linux的表现的测试数据是什么 PostgreSQL运行在FreeBSD和Linux的表现的测试数据是什么

性能测试的结果是令人吃惊的。‍DragonflyBSD(默认的操作系统) 的性能超过其他所有的系统,紧随其后的是FreeBSD。DragonflyBSD的性能比FreeBSD有25%的提升比Linux(s)有200%的提升!

我们有2个Linux远远的超过其他系统,达到7000事务的处理量。如过不考虑客户端的数量还是无法超越它。曲线图是令人吃惊的统一。只有Debian 没有达到测试的终点,因为不手动修改参数Debian PostgreSQL 不能同时有100个连接。

实际上,这7000条曲线解释了ext4栅栏系统(barrier system)保护的文件系统,在PostgreSQL上性能是非常差的。在第二项测试中,我们已经对ext4添加nobarrier/barrier=0选项(通过/etc/fstab)。这个选项处理(debrid)的FS,但是它是一个非常有风险的选项。仅当你有一个磁盘阵列的 1/5/6 控制器时才去使用它。当有一个写操作在你的磁盘上完成的时候,如果你的服务器重启(例如:电力故障......),文件或者整个磁盘可能就会崩溃,并且要是处于数据库实例中,那后果将非常悲惨。

总之,我们的FreeBSD在ZFS上的工作弥补了Linux(s).也许是由于虚拟化?或者是问题出在ZFS的概念上吗?

第二部分:物理驱动器

为了验证我们的研究结果,我们意识到,同一基准的物理驱动器上。我只有保持性能与优化,除了 ZFS,必须有一个点在这种支持的比较。在这里 Centos 被删除,因为它的性能与Debian相差不多。

***张曲线图是每1分钟的处理量:

PostgreSQL运行在FreeBSD和Linux的表现的测试数据是什么

第二张曲线图是每1秒的处理量:

PostgreSQL运行在FreeBSD和Linux的表现的测试数据是什么

DragonFlyBSD 在物理和虚拟之间的性能很接近, 我们可以说 virtio 的驱动程序非常好。Debian 有同样的问题,以每分钟 50,000 次请求。

有两点你要注意:

  • UFS 性能(async和noatime选项),(能提高)两倍或者三倍性能,但是你也必须同样保证是ext4(nobarrier选项)

  • 通过设置sync=disabled和atime=off选项,使ZFS增加10-15左右的性能,胜过所有其他的FS及其所提供的联合性能。此外,sync=disabled选项相比于nobarrier/async选项的危险性低。

ZFS是这个物理指标的***。

你可以看一下下面这个精确基准数据的链接:

Benchmarks – PostGreSQL

***,如果你为你的PostgreSQL数据库选择一个系统,使用BSD不用犹豫,即使你没有磁盘阵列控制器,你也可以选择FreeBSD(UFS)或者DragonFlyBSD(Hammer),其次再选择Linux。

看完上述内容,你们对PostgreSQL运行在FreeBSD和Linux的表现的测试数据是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网操作系统频道,感谢大家的支持。

--结束END--

本文标题: PostgreSQL运行在FreeBSD和Linux的表现的测试数据是什么

本文链接: https://lsjlt.com/news/284589.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • PostgreSQL运行在FreeBSD和Linux的表现的测试数据是什么
    今天就跟大家聊聊有关PostgreSQL运行在FreeBSD和Linux的表现的测试数据是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。今天下午我本想测试下DragonFly d...
    99+
    2023-06-16
  • PostgreSQL zedstore在CentOS 7.4进行大批量数据的测试分析
    这篇文章主要介绍“PostgreSQL zedstore在CentOS 7.4进行大批量数据的测试分析”,在日常操作中,相信很多人在PostgreSQL zedstore在CentOS 7.4进行大批量数据...
    99+
    2024-04-02
  • 数据库测试的作用是什么
    这篇文章给大家介绍数据库测试的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。数据库测试主要是用来对软件系统的数据库结构、数据表及其之间的数据调用关系进行测试的。为了提高测试数据库的准确性,测试人员需要熟练掌握...
    99+
    2023-06-15
  • PHP 函数在 Linux 上运行是否会影响 LeetCode 的表现?
    在 LeetCode 上编写代码时,我们通常会使用不同的编程语言和工具。其中,PHP 是一种常用的服务器端脚本语言,也被广泛用于编写 Web 应用程序。然而,一些人担心,在 Linux 上运行 PHP 函数会影响 LeetCode 的表现...
    99+
    2023-06-13
    函数 linux leetcode
  • 在AmazonAurora中如何实现数据库的性能测试和基准测试
    在Amazon Aurora中实现数据库的性能测试和基准测试可以通过以下步骤进行: 定义测试目标:确定要测试的性能指标,例如吞吐...
    99+
    2024-04-09
    AmazonAurora
  • 数据表中行指的是什么
    这篇文章主要介绍数据表中行指的是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!数据表中的行称为记录;数据表中的列称为字段。数据库是“按照数据结构来组织、存储和管理数据的仓库”;是...
    99+
    2024-04-02
  • PHP框架在Linux上运行,是否会有更好的表现?
    PHP是一门广泛使用的开源脚本语言,它被用于开发Web应用程序,以及服务器端脚本。PHP框架是一种用于简化Web应用程序开发的工具,它提供了一些常用的功能和结构,帮助开发者快速搭建Web应用程序。 在Linux操作系统上运行PHP框架,是否...
    99+
    2023-11-11
    框架 linux linux
  • PostgreSQL在执行逻辑优化中相关的数据结构是什么
    这篇文章主要介绍“PostgreSQL在执行逻辑优化中相关的数据结构是什么”,在日常操作中,相信很多人在PostgreSQL在执行逻辑优化中相关的数据结构是什么问题上存在疑惑,小编查阅了各式资料,整理出简单...
    99+
    2024-04-02
  • 关系数据表中的行称是什么
    这篇文章主要介绍了关系数据表中的行称是什么,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。        ...
    99+
    2024-04-02
  • Go语言在Linux容器中运行的秘密是什么?
    Linux容器作为一种轻量级的虚拟化技术,已经被广泛地应用于云计算、容器化应用等领域。而Go语言作为一种开发效率高、性能优越的编程语言,也越来越受到人们的关注。那么,Go语言在Linux容器中运行的秘密是什么呢? 一、Go语言的特点 Go...
    99+
    2023-07-30
    文件 linux 容器
  • PostgreSQL中ExecProcNode和ExecProcNodeFirst函数的实现逻辑是什么
    这篇文章主要讲解了“PostgreSQL中ExecProcNode和ExecProcNodeFirst函数的实现逻辑是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来...
    99+
    2024-04-02
  • PostgreSQL中ReserveXLogInsertLocation和CopyXLogRecordToWAL函数的实现逻辑是什么
    本篇内容介绍了“PostgreSQL中ReserveXLogInsertLocation和CopyXLogRecordToWAL函数的实现逻辑是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的...
    99+
    2024-04-02
  • MySQL对数据表已有表进行分区表的实现方法是什么
    本篇内容介绍了“MySQL对数据表已有表进行分区表的实现方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!操作方式@1 可以使用ALT...
    99+
    2023-06-25
  • 数据库压力测试:揭秘数据库在高并发环境下的性能表现
    数据库压力测试是指通过模拟高并发的用户访问,来评估数据库的性能表现。压力测试可以帮助数据库管理员和开发人员识别数据库的瓶颈所在,并采取针对性的优化措施。压力测试通常分为以下几个步骤: 1. 确定测试目标 压力测试的目标是评估数据库在高并...
    99+
    2024-02-26
    数据库压力测试 高并发 性能 瓶颈
  • 在mysql数据表视图中不能进行的操作是什么
    小编给大家分享一下在mysql数据表视图中不能进行的操作是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在数据表视图中不能进...
    99+
    2024-04-02
  • Linux命令通过SSH在远程运行的方法是什么
    本篇文章为大家展示了Linux命令通过SSH在远程运行的方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。我们有时可能需要在远程机器上运行一些命令。如果只是偶尔进行的操作,要实现这个目的,可以...
    99+
    2023-06-28
  • PostgreSQL中PortalRunMulti函数和PortalRun函数的实现逻辑是什么
    本篇内容主要讲解“PostgreSQL中PortalRunMulti函数和PortalRun函数的实现逻辑是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“P...
    99+
    2024-04-02
  • 在JDK和Eclipse下Java Applet的编写和运行方式是什么
    这期内容当中小编将会给大家带来有关在JDK和Eclipse下Java Applet的编写和运行方式是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Java Applet的源代码如下:import&nb...
    99+
    2023-06-17
  • 在容器中运行Java和Shell:Django的最佳实践是什么?
    随着云计算和容器技术的普及,越来越多的应用程序开始在容器中运行。Django是一个流行的Python Web框架,它也可以在容器中运行。但是,在容器中运行Django时,我们还需要考虑如何运行Java和Shell脚本。在本文中,我们将探讨...
    99+
    2023-06-02
    shell django 容器
  • java联调生成测试数据工具类的方法是什么
    这篇文章主要介绍了java联调生成测试数据工具类的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java联调生成测试数据工具类的方法是什么文章都会有所收获,下面我们一起来看看吧。java联调生成测试数...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作