Thank you to anyone who has already donated - your generous donations helped make three months of treatment possible.

My brother Nate continues to fight stage IV Hodgkin's lymphoma. He's just 31, with a wife and baby girl. They have no active income (since he's been unable to return to work), no insurance, and cannot afford the treatment he needs. Nate and his family need your help. Please consider a donation, every dollar helps. Thanks.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
Test system configuration
(Server):
    1x Intel Xeon E3-1270 3.4GHz Xeon CPU, 4 cores, 8 threads
    16GB RAM, em network
(Client)
    Same as above

uname's:
FreeBSD 10.0-CURRENT #0: Fri Nov  4 03:39:53 UTC 2011
    root@pbox1.allbsd.org:/usr/obj/usr/src/sys/GENERIC
DragonFly v2.13.0.256.g945da-DEVELOPMENT #195: Sat Nov 12 18:52:44 PST 2011
    root@test29:/usr/obj/usr/src/sys/X86_64_GENERIC


Setup notes:
mkdir -p $DESTDIR/pgsql/data
chown -R pgsql:pgsql $DESTDIR/pgsql
su -m pgsql -c 'initdb -D $DESTDIR/pgsql/data'

Edit $DESTDIR/pgsql/data/postgresql.conf and set:
    max_connections=100
    shared_buffers=4096MB
    effective_cache_size=8192MB
    update_process_title = off

Configuration:
Both:
    sysctl -w kern.ipc.shm_use_phys=1
    echo "kern.ipc.shm_use_phys=1" >> /etc/sysctl.conf

FreeBSD-only:
    # This puts FreeBSD in line with the DragonFly auto-tuned defaults
    sysctl -w kern.ipc.shmmax=11077935104
    sysctl -w kern.ipc.shmall=2704574
    sysctl -w vm.pmap.pv_entry_max=69709312
    echo "kern.ipc.shmmax=11077935104" >> /etc/sysctl.conf
    echo "kern.ipc.shmall=2704574" >> /etc/sysctl.conf
    echo "vm.pmap.pv_entry_max=69709312" >> /etc/sysctl.conf
    # Kill witness
    sysctl -w debug.witness.watch=0
    echo "debug.witness.watch=0" >> /etc/sysctl.conf
	
Initialize the database:
    createdb -U pgsql pgbench
    pgbench -i -s 500 -U pgsql pgbench # Approx 7GB

Run the tests:
    pgbench -h 127.0.0.1 -U pgsql -S -T 300 -j 2 -c 24 pgbench
    # -T	Amount of time to run (seconds)
    # -j	Number of threads
    # -c	Number of clients (database connections, split among threads)


----------	

RAW results:

DragonFly BSD
1
tps = 2814.436256 (including connections establishing)
2
tps = 5758.492990 (including connections establishing)
4
tps = 12110.817227 (including connections establishing)
8
tps = 23479.369294 (including connections establishing)
12
tps = 35262.181923 (including connections establishing)
16
tps = 45879.002498 (including connections establishing)
20
tps = 53121.327116 (including connections establishing)
24
tps = 56507.085984 (including connections establishing)
28
tps = 57766.732481 (including connections establishing)
32
tps = 58024.329481 (including connections establishing)
40
tps = 55903.643062 (including connections establishing)
48
tps = 55155.781111 (including connections establishing)
64
tps = 54639.144366 (including connections establishing)
80
tps = 50212.999512 (including connections establishing)


FreeBSD
1
tps = 3461.652333 (including connections establishing)
2
tps = 7011.837319 (including connections establishing)
4
tps = 14068.277973 (including connections establishing)
8
tps = 24343.375571 (including connections establishing)
12
tps = 33735.166180 (including connections establishing)
16
tps = 44396.261119 (including connections establishing)
20
tps = 53253.263396 (including connections establishing)
24
tps = 56646.069533 (including connections establishing)
28
tps = 57052.945475 (including connections establishing)
32
tps = 56741.652440 (including connections establishing)
40
tps = 55964.533240 (including connections establishing)
48
tps = 55211.878514 (including connections establishing)
64
tps = 52007.536455 (including connections establishing)
80
tps = 49995.428447 (including connections establishing)