Home  >  Article  >  Database  >  PostgreSQL 运行在 FreeBSD 和 Linux 的表现的测试数据

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

WBOY
WBOYOriginal
2016-06-07 16:50:491041browse

今天下午我本想测试下DragonFly dports, 突然我想为什么不比较下PostgreSQL在BSD和Linux下的性能的差异。 为此我定了一些标准来比

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

当我在 Debian Linux 下测试之后,结果令我非常吃惊,于是我又在其他的Linux系统做了测试, 如类RedHat的CentOS 6.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个需求同时连接

    ------------------------------------华丽丽的分割线------------------------------------

    CentOS 6.3环境下yum安装PostgreSQL 9.3

    PostgreSQL缓存详述

    Windows平台编译 PostgreSQL

    Ubuntu下LAPP(Linux+Apache+PostgreSQL+PHP)环境的配置与安装

    Ubuntu上的phppgAdmin安装及配置

    CentOS平台下安装PostgreSQL9.3

    PostgreSQL配置Streaming Replication集群

    ------------------------------------华丽丽的分割线------------------------------------

    第一部分: 虚拟驱动

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

     

    PGBench1

    PGBench2

     

    性能测试的结果是令人吃惊的。

    我们有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的概念上吗?

    更多详情见请继续阅读下一页的精彩内容:

    linux

    Statement:
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn