(no commit message)
[ikiwiki.git] / performance / index.html
e536b019 1[[!template id=performance-includes.tmpl]]
ff16395b 2
8fafc566 3<p><strong>Please note:</strong> Many of the figures on this page utilize SVG, if your browser does not show these a plugin needs to be installed or your browser updated.<p>
5<p>DragonFly BSD has numerous attributes that make it compare favorably to other operating systems under a great diversity of workloads. Some select benchmarks that represent the general performance attributes of DragonFly are included in this page. If you have a DragonFly BSD performance success story, the developers would like to hear about it on the mailing lists!</p>
ff16395b 7<h2>Symmetric Multi-Processor Scaling</h2>
87c75726 9<p>It is true that one of the original goals of the DragonFly BSD project was performance-oriented, the project sought to do SMP in more straightforward, composable, understandable and algorithmically superior ways to the work being done in other operating system kernels. This results of this process have become staggeringly obvious with the 3.0 and 3.2 releases of DragonFly, which saw a significant amount of polishing and general scalability work, the culmination of which can be seen in the following graph.</p>
8fafc566 10
9f10e039 11<p>The following graph charts the performance of the PostgreSQL 9.3 development version as of <a href="http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=b0fc0df9364d2d2d17c0162cf3b8b59f6cb09f67" target="_blank">late June 2012</a> on DragonFly BSD 3.0 and 3.2, FreeBSD 9.1, NetBSD 6.0 and Scientific Linux 6.2 running Linux kernel version 2.6.32. The tests were performed using system defaults on each platform with pgbench as the test client with a scaling factor of 800. The test system in question was a dual-socket Intel Xeon X5650 with 24GB RAM.</p>
8fafc566 12
ff16395b 13[[!template id=performance-scaling-postgresql.tmpl]]
8fafc566 15<p>NetBSD 6.0 was unable to complete the benchmark run.</p>
17<p>In this particular test, which other operating systems have often utilized to show how well they scale you can see that the scalability of DragonFly BSD 3.2 is nothing short of excellent. The scalability far surpasses other BSD-derived codebases and is roughly on par with the Linux kernel. DragonFly performs better than linux at lower concurrencies and the small performance hit at high client counts was given up willingly to retain the trademark interactivity that make BSD systems a pleasure to use.</p>
ff16395b 19<br/>
3fd4fd98 21<h2>Swapcache</h2>
8fafc566 23<p>One of the novel features in DragonFly that is able to boost the throughput of a large number of workloads is called swapcache. Swapcache gives the kernel the ability to retire cached pages to one or more interleaved swap devices, usually using commodity solid state disks. By caching filesystem metadata, data or both on an SSD the performance of many read-centric workloads is improved and worst case performance is kept well bounded.</p>
3fd4fd98 24
25<p>The following chart depicts relative performance of a system with and without swapcache. The application being tested is a PostgreSQL database under a read-only workload, with varying database sizes ranging from smaller than the total ram in the system to double the size of total available memory.</p>
b85e905b 26
c0683b48 27[[!template id=performance-swapcache.tmpl]]
3fd4fd98 28
8fafc566 29<p>As you can plainly see, performance with swapcache is more than just well bounded, it is dramatically improved. Similar gains can be seen in many other scenarios. As with all benchmarks, the above numbers are indicative only of the specific test performed and to get a true sense of whether or not it will be a benefit to a specific workload it must be tested in that environment. Disclaimers aside, swapcache is appropriate for a huge variety of common workloads, the DragonFly team invites you to try it and see what a difference it can make.</p>