CEPH filesystem development
 help / color / mirror / Atom feed
From: Dan Mick <dan.mick@inktank.com>
To: Mark Nelson <mark.nelson@inktank.com>
Cc: Stefan Priebe <s.priebe@profihost.ag>,
	"ceph-devel@vger.kernel.org" <ceph-devel@vger.kernel.org>
Subject: Re: Heavy speed difference between rbd and custom pool
Date: Mon, 18 Jun 2012 15:41:05 -0700	[thread overview]
Message-ID: <4FDFAE81.9060402@inktank.com> (raw)
In-Reply-To: <4FDFAA75.5070309@inktank.com>

Yes, this is almost certainly the problem.  When you create the pool, 
you can specify a pg count; the default is 8, which is quite low.
The count can't currently be adjusted after pool-creation time (we're 
working on an enhancement for that).

http://ceph.com/docs/master/control/  shows

ceph osd pool create POOL [pg_num [pgp_num]]

You'll want to set pg_num the same for similar pools in order to get for 
similar pool performance.

I note also that you can get that field directlty:
$ ceph osd pool get rbd pg_num
PG_NUM: 448

I have a 'nova' pool that was created with "pool create":

$ ceph osd pool get nova pg_num
PG_NUM: 8



On 06/18/2012 03:23 PM, Mark Nelson wrote:
> On 06/18/2012 04:39 PM, Stefan Priebe wrote:
>> Hello list,
>>
>> i'm getting these rbd bench values for pool rbd. They're high and
>> constant.
>> ----------------------------- RBD pool
>> # rados -p rbd bench 30 write -t 16
>> Maintaining 16 concurrent writes of 4194304 bytes for at least 30
>> seconds.
>> sec Cur ops started finished avg MB/s cur MB/s last lat avg lat
>> 0 0 0 0 0 0 - 0
>> 1 16 274 258 1031.77 1032 0.043758 0.0602236
>> 2 16 549 533 1065.82 1100 0.072168 0.0590944
>> 3 16 825 809 1078.5 1104 0.040162 0.058682
>> 4 16 1103 1087 1086.84 1112 0.052508 0.0584277
>> 5 16 1385 1369 1095.04 1128 0.060233 0.0581288
>> 6 16 1654 1638 1091.85 1076 0.050697 0.0583385
>> 7 16 1939 1923 1098.71 1140 0.063716 0.057964
>> 8 16 2219 2203 1101.35 1120 0.055435 0.0579105
>> 9 16 2497 2481 1102.52 1112 0.060413 0.0578282
>> 10 16 2773 2757 1102.66 1104 0.051134 0.0578561
>> 11 16 3049 3033 1102.77 1104 0.057742 0.0578803
>> 12 16 3326 3310 1103.19 1108 0.053769 0.0578627
>> 13 16 3604 3588 1103.86 1112 0.064574 0.0578453
>> 14 16 3883 3867 1104.72 1116 0.056524 0.0578018
>> 15 16 4162 4146 1105.46 1116 0.054581 0.0577626
>> 16 16 4440 4424 1105.86 1112 0.079015 0.057758
>> 17 16 4725 4709 1107.86 1140 0.043511 0.0576647
>> 18 16 5007 4991 1108.97 1128 0.053005 0.0576147
>> 19 16 5292 5276 1110.6 1140 0.069004 0.057538
>> 2012-06-18 23:36:19.124472min lat: 0.028568 max lat: 0.201941 avg lat:
>> 0.0574953
>> sec Cur ops started finished avg MB/s cur MB/s last lat avg lat
>> 20 16 5574 5558 1111.46 1128 0.048482 0.0574953
>> 21 16 5861 5845 1113.18 1148 0.051923 0.0574146
>> 22 16 6147 6131 1114.58 1144 0.04461 0.0573461
>> 23 16 6438 6422 1116.72 1164 0.050383 0.0572406
>> 24 16 6724 6708 1117.85 1144 0.067827 0.0571864
>> 25 16 7008 6992 1118.57 1136 0.049128 0.057147
>> 26 16 7296 7280 1119.85 1152 0.050331 0.0570879
>> 27 16 7573 7557 1119.4 1108 0.052711 0.0571132
>> 28 16 7858 7842 1120.13 1140 0.056369 0.0570764
>> 29 16 8143 8127 1120.81 1140 0.046558 0.0570438
>> 30 16 8431 8415 1121.85 1152 0.049958 0.0569942
>> Total time run: 30.045481
>> Total writes made: 8431
>> Write size: 4194304
>> Bandwidth (MB/sec): 1122.432
>>
>> Stddev Bandwidth: 26.0451
>> Max bandwidth (MB/sec): 1164
>> Min bandwidth (MB/sec): 1032
>> Average Latency: 0.0570069
>> Stddev Latency: 0.0128039
>> Max latency: 0.235536
>> Min latency: 0.028568
>> -----------------------------
>>
>> I created then a custom pool called kvmpool.
>>
>> ~# ceph osd pool create kvmpool
>> pool 'kvmpool' created
>>
>> But with this one i get slow and jumping values:
>> -------------------------------- kvmpool
>> ~# rados -p kvmpool bench 30 write -t 16
>> Maintaining 16 concurrent writes of 4194304 bytes for at least 30
>> seconds.
>> sec Cur ops started finished avg MB/s cur MB/s last lat avg lat
>> 0 0 0 0 0 0 - 0
>> 1 16 231 215 859.863 860 0.204867 0.069195
>> 2 16 393 377 753.899 648 0.049444 0.0811933
>> 3 16 535 519 691.908 568 0.232365 0.0899074
>> 4 16 634 618 617.913 396 0.032758 0.0963399
>> 5 16 806 790 631.913 688 0.075811 0.099529
>> 6 16 948 932 621.249 568 0.156988 0.10179
>> 7 16 1086 1070 611.348 552 0.036177 0.102064
>> 8 16 1206 1190 594.922 480 0.028491 0.105235
>> 9 16 1336 1320 586.589 520 0.041009 0.108735
>> 10 16 1512 1496 598.32 704 0.258165 0.105086
>> 11 16 1666 1650 599.921 616 0.040967 0.106146
>> 12 15 1825 1810 603.255 640 0.198851 0.105463
>> 13 16 1925 1909 587.309 396 0.042577 0.108449
>> 14 16 2135 2119 605.352 840 0.035767 0.105219
>> 15 16 2272 2256 601.523 548 0.246136 0.105357
>> 16 16 2426 2410 602.424 616 0.19881 0.105692
>> 17 16 2529 2513 591.22 412 0.031322 0.105463
>> 18 16 2696 2680 595.48 668 0.028081 0.106749
>> 19 16 2878 2862 602.449 728 0.044929 0.105856
>> 2012-06-18 23:38:45.566094min lat: 0.023295 max lat: 0.763797 avg lat:
>> 0.105597
>> sec Cur ops started finished avg MB/s cur MB/s last lat avg lat
>> 20 16 3041 3025 604.921 652 0.036028 0.105597
>> 21 16 3182 3166 602.964 564 0.035072 0.104915
>> 22 16 3349 3333 605.916 668 0.030493 0.105304
>> 23 16 3512 3496 607.917 652 0.030523 0.10479
>> 24 16 3668 3652 608.584 624 0.232933 0.10475
>> 25 16 3821 3805 608.717 612 0.029881 0.104513
>> 26 16 3963 3947 607.148 568 0.050244 0.10531
>> 27 16 4112 4096 606.733 596 0.259069 0.105008
>> 28 16 4261 4245 606.347 596 0.211877 0.105215
>> 29 16 4437 4421 609.712 704 0.02802 0.104613
>> 30 16 4566 4550 606.586 516 0.047076 0.105111
>> Total time run: 30.062141
>> Total writes made: 4566
>> Write size: 4194304
>> Bandwidth (MB/sec): 607.542
>>
>> Stddev Bandwidth: 109.112
>> Max bandwidth (MB/sec): 860
>> Min bandwidth (MB/sec): 396
>> Average Latency: 0.10532
>> Stddev Latency: 0.108369
>> Max latency: 0.763797
>> Min latency: 0.023295
>> --------------------------------
>>
>> Why do these pools differ? Where is the difference?
>>
>> Stefan
>
> Are the number of placement groups the same for each pool?
>
> try running "ceph osd dump -o - | grep <pool>" and looking for the
> pg_num value.
>
> Mark
>
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2012-06-18 22:41 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-18 21:39 Heavy speed difference between rbd and custom pool Stefan Priebe
2012-06-18 22:23 ` Mark Nelson
2012-06-18 22:41   ` Dan Mick [this message]
2012-06-19  6:06     ` Stefan Priebe
2012-06-19  6:30       ` Stefan Priebe - Profihost AG
2012-06-19  4:41   ` Alexandre DERUMIER
2012-06-19  6:32     ` Stefan Priebe - Profihost AG
2012-06-19 13:01       ` Mark Nelson
2012-06-19 13:14         ` Stefan Priebe - Profihost AG
2012-06-19 14:05           ` bad performance fio random write - rados bench random write to compare? Alexandre DERUMIER
2012-07-02 19:52             ` Gregory Farnum
2012-07-03  7:31               ` Stefan Priebe - Profihost AG
2012-06-19 15:42           ` Heavy speed difference between rbd and custom pool Sage Weil
2012-06-19 16:24             ` Stefan Priebe
2012-06-19 16:27               ` Sage Weil
2012-06-19 16:29               ` Dan Mick
2012-06-20  6:46                 ` Stefan Priebe - Profihost AG
2012-06-20 23:21                   ` Dan Mick

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FDFAE81.9060402@inktank.com \
    --to=dan.mick@inktank.com \
    --cc=ceph-devel@vger.kernel.org \
    --cc=mark.nelson@inktank.com \
    --cc=s.priebe@profihost.ag \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox