设为首页 加入收藏

TOP

PostgreSQL 运行在 FreeBSD 和 Linux 的表现的测试数据
2014-11-24 17:16:23 】 浏览:6430
Tags:PostgreSQL 运行 FreeBSD Linux 表现 测试 数据

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


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


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


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


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


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


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


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


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


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



PGBench1 PGBench2



性能测试的结果是令人吃惊的。 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的概念上吗?


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Oracle 中极易混淆的几个 NAME 的.. 下一篇在MySQL中使用init-connect与binl..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目