Have you ruled out the disk controller and backplane in the server running
slower?

On Thu, Oct 19, 2017 at 4:42 PM Russell Glaue <rgl...@cait.org> wrote:

> I ran the test on the Ceph pool, and ran atop on all 4 storage servers, as
> suggested.
>
> Out of the 4 servers:
> 3 of them performed with 17% to 30% disk %busy, and 11% CPU wait.
> Momentarily spiking up to 50% on one server, and 80% on another
> The 2nd newest server was almost averaging 90% disk %busy and 150% CPU
> wait. And more than momentarily spiking to 101% disk busy and 250% CPU wait.
> For this 2nd newest server, this was the statistics for about 8 of 9
> disks, with the 9th disk not far behind the others.
>
> I cannot believe all 9 disks are bad
> They are the same disks as the newest 1st server, Crucial_CT960M500SSD1,
> and same exact server hardware too.
> They were purchased at the same time in the same purchase order and
> arrived at the same time.
> So I cannot believe I just happened to put 9 bad disks in one server, and
> 9 good ones in the other.
>
> I know I have Ceph configured exactly the same on all servers
> And I am sure I have the hardware settings configured exactly the same on
> the 1st and 2nd servers.
> So if I were someone else, I would say it maybe is bad hardware on the 2nd
> server.
> But the 2nd server is running very well without any hint of a problem.
>
> Any other ideas or suggestions?
>
> -RG
>
>
> On Wed, Oct 18, 2017 at 3:40 PM, Maged Mokhtar <mmokh...@petasan.org>
> wrote:
>
>> just run the same 32 threaded rados test as you did before and this time
>> run atop while the test is running looking for %busy of cpu/disks. It
>> should give an idea if there is a bottleneck in them.
>>
>> On 2017-10-18 21:35, Russell Glaue wrote:
>>
>> I cannot run the write test reviewed at
>> the ceph-how-to-test-if-your-ssd-is-suitable-as-a-journal-device blog. The
>> tests write directly to the raw disk device.
>> Reading an infile (created with urandom) on one SSD, writing the outfile
>> to another osd, yields about 17MB/s.
>> But Isn't this write speed limited by the speed in which in the dd infile
>> can be read?
>> And I assume the best test should be run with no other load.
>>
>> How does one run the rados bench "as stress"?
>>
>> -RG
>>
>>
>> On Wed, Oct 18, 2017 at 1:33 PM, Maged Mokhtar <mmokh...@petasan.org>
>> wrote:
>>
>>> measuring resource load as outlined earlier will show if the drives are
>>> performing well or not. Also how many osds do you have  ?
>>>
>>> On 2017-10-18 19:26, Russell Glaue wrote:
>>>
>>> The SSD drives are Crucial M500
>>> A Ceph user did some benchmarks and found it had good performance
>>>
>>> https://forum.proxmox.com/threads/ceph-bad-performance-in-qemu-guests.21551/
>>>
>>> However, a user comment from 3 years ago on the blog post you linked to
>>> says to avoid the Crucial M500
>>>
>>> Yet, this performance posting tells that the Crucial M500 is good.
>>> https://inside.servers.com/ssd-performance-2017-c4307a92dea
>>>
>>> On Wed, Oct 18, 2017 at 11:53 AM, Maged Mokhtar <mmokh...@petasan.org>
>>> wrote:
>>>
>>>> Check out the following link: some SSDs perform bad in Ceph due to sync
>>>> writes to journal
>>>>
>>>>
>>>> https://www.sebastien-han.fr/blog/2014/10/10/ceph-how-to-test-if-your-ssd-is-suitable-as-a-journal-device/
>>>>
>>>> Anther thing that can help is to re-run the rados 32 threads as stress
>>>> and view resource usage using atop (or collectl/sar) to check for %busy cpu
>>>> and %busy disks to give you an idea of what is holding down your
>>>> cluster..for example: if cpu/disk % are all low then check your
>>>> network/switches.  If disk %busy is high (90%) for all disks then your
>>>> disks are the bottleneck: which either means you have SSDs that are not
>>>> suitable for Ceph or you have too few disks (which i doubt is the case). If
>>>> only 1 disk %busy is high, there may be something wrong with this disk
>>>> should be removed.
>>>>
>>>> Maged
>>>>
>>>> On 2017-10-18 18:13, Russell Glaue wrote:
>>>>
>>>> In my previous post, in one of my points I was wondering if the request
>>>> size would increase if I enabled jumbo packets. currently it is disabled.
>>>>
>>>> @jdillama: The qemu settings for both these two guest machines, with
>>>> RAID/LVM and Ceph/rbd images, are the same. I am not thinking that changing
>>>> the qemu settings of "min_io_size=<limited to 16bits>,opt_io_size=<RBD
>>>> image object size>" will directly address the issue.
>>>>
>>>> @mmokhtar: Ok. So you suggest the request size is the result of the
>>>> problem and not the cause of the problem. meaning I should go after a
>>>> different issue.
>>>>
>>>> I have been trying to get write speeds up to what people on this mail
>>>> list are discussing.
>>>> It seems that for our configuration, as it matches others, we should be
>>>> getting about 70MB/s write speed.
>>>> But we are not getting that.
>>>> Single writes to disk are lucky to get 5MB/s to 6MB/s, but are
>>>> typically 1MB/s to 2MB/s.
>>>> Monitoring the entire Ceph cluster (using http://cephdash.crapworks.de/),
>>>> I have seen very rare momentary spikes up to 30MB/s.
>>>>
>>>> My storage network is connected via a 10Gb switch
>>>> I have 4 storage servers with a LSI Logic MegaRAID SAS 2208 controller
>>>> Each storage server has 9 1TB SSD drives, each drive as 1 osd (no RAID)
>>>> Each drive is one LVM group, with two volumes - one volume for the osd,
>>>> one volume for the journal
>>>> Each osd is formatted with xfs
>>>> The crush map is simple: default->rack->[host[1..4]->osd] with an
>>>> evenly distributed weight
>>>> The redundancy is triple replication
>>>>
>>>> While I have read comments that having the osd and journal on the same
>>>> disk decreases write speed, I have also read that once past 8 OSDs per node
>>>> this is the recommended configuration, however this is also the reason why
>>>> SSD drives are used exclusively for OSDs in the storage nodes.
>>>> None-the-less, I was still expecting write speeds to be above 30MB/s,
>>>> not below 6MB/s.
>>>> Even at 12x slower than the RAID, using my previously posted iostat
>>>> data set, I should be seeing write speeds that average 10MB/s, not 2MB/s.
>>>>
>>>> In regards to the rados benchmark tests you asked me to run, here is
>>>> the output:
>>>>
>>>> [centos7]# rados bench -p scbench -b 4096 30 write -t 1
>>>> Maintaining 1 concurrent writes of 4096 bytes to objects of size 4096
>>>> for up to 30 seconds or 0 objects
>>>> Object prefix: benchmark_data_hamms.sys.cu.cait.org_85049
>>>>   sec Cur ops   started  finished  avg MB/s  cur MB/s last lat(s)  avg
>>>> lat(s)
>>>>     0       0         0         0         0         0           -
>>>>     0
>>>>     1       1       201       200   0.78356   0.78125  0.00522307
>>>>  0.00496574
>>>>     2       1       469       468  0.915303   1.04688  0.00437497
>>>>  0.00426141
>>>>     3       1       741       740  0.964371    1.0625  0.00512853
>>>> 0.0040434
>>>>     4       1       888       887  0.866739  0.574219  0.00307699
>>>>  0.00450177
>>>>     5       1      1147      1146  0.895725   1.01172  0.00376454
>>>> 0.0043559
>>>>     6       1      1325      1324  0.862293  0.695312  0.00459443
>>>>  0.004525
>>>>     7       1      1494      1493   0.83339  0.660156  0.00461002
>>>>  0.00458452
>>>>     8       1      1736      1735  0.847369  0.945312  0.00253971
>>>>  0.00460458
>>>>     9       1      1998      1997  0.866922   1.02344  0.00236573
>>>>  0.00450172
>>>>    10       1      2260      2259  0.882563   1.02344  0.00262179
>>>>  0.00442152
>>>>    11       1      2526      2525  0.896775   1.03906  0.00336914
>>>>  0.00435092
>>>>    12       1      2760      2759  0.898203  0.914062  0.00351827
>>>>  0.00434491
>>>>    13       1      3016      3015  0.906025         1  0.00335703
>>>>  0.00430691
>>>>    14       1      3257      3256  0.908545  0.941406  0.00332344
>>>>  0.00429495
>>>>    15       1      3490      3489  0.908644  0.910156  0.00318815
>>>>  0.00426387
>>>>    16       1      3728      3727  0.909952  0.929688   0.0032881
>>>>  0.00428895
>>>>    17       1      3986      3985  0.915703   1.00781  0.00274809
>>>> 0.0042614
>>>>    18       1      4250      4249  0.922116   1.03125  0.00287411
>>>>  0.00423214
>>>>    19       1      4505      4504  0.926003  0.996094  0.00375435
>>>>  0.00421442
>>>> 2017-10-18 10:56:31.267173 min lat: 0.00181259 max lat: 0.270553 avg
>>>> lat: 0.00420118
>>>>   sec Cur ops   started  finished  avg MB/s  cur MB/s last lat(s)  avg
>>>> lat(s)
>>>>    20       1      4757      4756  0.928915  0.984375  0.00463972
>>>>  0.00420118
>>>>    21       1      5009      5008   0.93155  0.984375  0.00360065
>>>>  0.00418937
>>>>    22       1      5235      5234  0.929329  0.882812  0.00626214
>>>>  0.004199
>>>>    23       1      5500      5499  0.933925   1.03516  0.00466584
>>>>  0.00417836
>>>>    24       1      5708      5707  0.928861    0.8125  0.00285727
>>>>  0.00420146
>>>>    25       0      5964      5964  0.931858   1.00391  0.00417383
>>>> 0.0041881
>>>>    26       1      6216      6215  0.933722  0.980469   0.0041009
>>>>  0.00417915
>>>>    27       1      6481      6480  0.937474   1.03516  0.00307484
>>>>  0.00416118
>>>>    28       1      6745      6744  0.940819   1.03125  0.00266329
>>>>  0.00414777
>>>>    29       1      7003      7002  0.943124   1.00781  0.00305905
>>>>  0.00413758
>>>>    30       1      7271      7270  0.946578   1.04688  0.00391017
>>>>  0.00412238
>>>> Total time run:         30.006060
>>>> Total writes made:      7272
>>>> Write size:             4096
>>>> Object size:            4096
>>>> Bandwidth (MB/sec):     0.946684
>>>> Stddev Bandwidth:       0.123762
>>>> Max bandwidth (MB/sec): 1.0625
>>>> Min bandwidth (MB/sec): 0.574219
>>>> Average IOPS:           242
>>>> Stddev IOPS:            31
>>>> Max IOPS:               272
>>>> Min IOPS:               147
>>>> Average Latency(s):     0.00412247
>>>> Stddev Latency(s):      0.00648437
>>>> Max latency(s):         0.270553
>>>> Min latency(s):         0.00175318
>>>> Cleaning up (deleting benchmark objects)
>>>> Clean up completed and total clean up time :29.069423
>>>>
>>>> [centos7]# rados bench -p scbench -b 4096 30 write -t 32
>>>> Maintaining 32 concurrent writes of 4096 bytes to objects of size 4096
>>>> for up to 30 seconds or 0 objects
>>>> Object prefix: benchmark_data_hamms.sys.cu.cait.org_86076
>>>>   sec Cur ops   started  finished  avg MB/s  cur MB/s last lat(s)  avg
>>>> lat(s)
>>>>     0       0         0         0         0         0           -
>>>>     0
>>>>     1      32      3013      2981   11.6438   11.6445  0.00247906
>>>>  0.00572026
>>>>     2      32      5349      5317   10.3834     9.125  0.00246662
>>>>  0.00932016
>>>>     3      32      5707      5675    7.3883   1.39844  0.00389774
>>>> 0.0156726
>>>>     4      32      5895      5863   5.72481  0.734375     1.13137
>>>> 0.0167946
>>>>     5      32      6869      6837   5.34068   3.80469   0.0027652
>>>> 0.0226577
>>>>     6      32      8901      8869   5.77306    7.9375   0.0053211
>>>> 0.0216259
>>>>     7      32     10800     10768   6.00785   7.41797  0.00358187
>>>> 0.0207418
>>>>     8      32     11825     11793   5.75728   4.00391  0.00217575
>>>> 0.0215494
>>>>     9      32     12941     12909    5.6019   4.35938  0.00278512
>>>> 0.0220567
>>>>    10      32     13317     13285   5.18849   1.46875   0.0034973
>>>> 0.0240665
>>>>    11      32     16189     16157   5.73653   11.2188  0.00255841
>>>> 0.0212708
>>>>    12      32     16749     16717   5.44077    2.1875  0.00330334
>>>> 0.0215915
>>>>    13      32     16756     16724   5.02436 0.0273438  0.00338994
>>>>  0.021849
>>>>    14      32     17908     17876   4.98686       4.5  0.00402598
>>>> 0.0244568
>>>>    15      32     17936     17904   4.66171  0.109375  0.00375799
>>>> 0.0245545
>>>>    16      32     18279     18247   4.45409   1.33984  0.00483873
>>>> 0.0267929
>>>>    17      32     18372     18340   4.21346  0.363281  0.00505187
>>>> 0.0275887
>>>>    18      32     19403     19371   4.20309   4.02734  0.00545154
>>>>  0.029348
>>>>    19      31     19845     19814   4.07295   1.73047  0.00254726
>>>> 0.0306775
>>>> 2017-10-18 10:57:58.160536 min lat: 0.0015005 max lat: 2.27707 avg lat:
>>>> 0.0307559
>>>>   sec Cur ops   started  finished  avg MB/s  cur MB/s last lat(s)  avg
>>>> lat(s)
>>>>    20      31     20401     20370   3.97788   2.17188  0.00307238
>>>> 0.0307559
>>>>    21      32     21338     21306   3.96254   3.65625  0.00464563
>>>> 0.0312288
>>>>    22      32     23057     23025    4.0876   6.71484  0.00296295
>>>> 0.0299267
>>>>    23      32     23057     23025   3.90988         0           -
>>>> 0.0299267
>>>>    24      32     23803     23771   3.86837   1.45703  0.00301471
>>>> 0.0312804
>>>>    25      32     24112     24080   3.76191   1.20703  0.00191063
>>>> 0.0331462
>>>>    26      31     25303     25272   3.79629   4.65625  0.00794399
>>>> 0.0329129
>>>>    27      32     28803     28771   4.16183    13.668   0.0109817
>>>> 0.0297469
>>>>    28      32     29592     29560   4.12325   3.08203  0.00188185
>>>> 0.0301911
>>>>    29      32     30595     30563   4.11616   3.91797  0.00379099
>>>> 0.0296794
>>>>    30      32     31031     30999   4.03572   1.70312  0.00283347
>>>> 0.0302411
>>>> Total time run:         30.822350
>>>> Total writes made:      31032
>>>> Write size:             4096
>>>> Object size:            4096
>>>> Bandwidth (MB/sec):     3.93282
>>>> Stddev Bandwidth:       3.66265
>>>> Max bandwidth (MB/sec): 13.668
>>>> Min bandwidth (MB/sec): 0
>>>> Average IOPS:           1006
>>>> Stddev IOPS:            937
>>>> Max IOPS:               3499
>>>> Min IOPS:               0
>>>> Average Latency(s):     0.0317779
>>>> Stddev Latency(s):      0.164076
>>>> Max latency(s):         2.27707
>>>> Min latency(s):         0.0013848
>>>> Cleaning up (deleting benchmark objects)
>>>> Clean up completed and total clean up time :20.166559
>>>>
>>>>
>>>>
>>>>
>>>> On Wed, Oct 18, 2017 at 8:51 AM, Maged Mokhtar <mmokh...@petasan.org>
>>>> wrote:
>>>>
>>>>> First a general comment: local RAID will be faster than Ceph for a
>>>>> single threaded (queue depth=1) io operation test. A single thread Ceph
>>>>> client will see at best same disk speed for reads and for writes 4-6 times
>>>>> slower than single disk. Not to mention the latency of local disks will
>>>>> much better. Where Ceph shines is when you have many concurrent ios, it
>>>>> scales whereas RAID will decrease speed per client as you add more.
>>>>>
>>>>> Having said that, i would recommend running rados/rbd bench-write and
>>>>> measure 4k iops at 1 and 32 threads to get a better idea of how your
>>>>> cluster performs:
>>>>>
>>>>> ceph osd pool create testpool 256 256
>>>>> rados bench -p testpool -b 4096 30 write -t 1
>>>>> rados bench -p testpool -b 4096 30 write -t 32
>>>>> ceph osd pool delete testpool testpool --yes-i-really-really-mean-it
>>>>>
>>>>> rbd bench-write test-image --io-threads=1 --io-size 4096 --io-pattern
>>>>> rand --rbd_cache=false
>>>>> rbd bench-write test-image --io-threads=32 --io-size 4096 --io-pattern
>>>>> rand --rbd_cache=false
>>>>>
>>>>> I think the request size difference you see is due to the io scheduler
>>>>> in the case of local disks having more ios to re-group so has a better
>>>>> chance in generating larger requests. Depending on your kernel, the io
>>>>> scheduler may be different for rbd (blq-mq) vs sdx (cfq) but again i would
>>>>> think the request size is a result not a cause.
>>>>>
>>>>> Maged
>>>>>
>>>>> On 2017-10-17 23:12, Russell Glaue wrote:
>>>>>
>>>>> I am running ceph jewel on 5 nodes with SSD OSDs.
>>>>> I have an LVM image on a local RAID of spinning disks.
>>>>> I have an RBD image on in a pool of SSD disks.
>>>>> Both disks are used to run an almost identical CentOS 7 system.
>>>>> Both systems were installed with the same kickstart, though the disk
>>>>> partitioning is different.
>>>>>
>>>>> I want to make writes on the the ceph image faster. For example, lots
>>>>> of writes to MySQL (via MySQL replication) on a ceph SSD image are about
>>>>> 10x slower than on a spindle RAID disk image. The MySQL server on ceph rbd
>>>>> image has a hard time keeping up in replication.
>>>>>
>>>>> So I wanted to test writes on these two systems
>>>>> I have a 10GB compressed (gzip) file on both servers.
>>>>> I simply gunzip the file on both systems, while running iostat.
>>>>>
>>>>> The primary difference I see in the results is the average size of the
>>>>> request to the disk.
>>>>> CentOS7-lvm-raid-sata writes a lot faster to disk, and the size of the
>>>>> request is about 40x, but the number of writes per second is about the 
>>>>> same
>>>>> This makes me want to conclude that the smaller size of the request
>>>>> for CentOS7-ceph-rbd-ssd system is the cause of it being slow.
>>>>>
>>>>>
>>>>> How can I make the size of the request larger for ceph rbd images, so
>>>>> I can increase the write throughput?
>>>>> Would this be related to having jumbo packets enabled in my ceph
>>>>> storage network?
>>>>>
>>>>>
>>>>> Here is a sample of the results:
>>>>>
>>>>> [CentOS7-lvm-raid-sata]
>>>>> $ gunzip large10gFile.gz &
>>>>> $ iostat -x vg_root-lv_var -d 5 -m -N
>>>>> Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s
>>>>> avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
>>>>> ...
>>>>> vg_root-lv_var     0.00     0.00   30.60  452.20    13.60   222.15
>>>>>  1000.04     8.69   14.05    0.99   14.93   2.07 100.04
>>>>> vg_root-lv_var     0.00     0.00   88.20  182.00    39.20    89.43
>>>>> 974.95     4.65    9.82    0.99   14.10   3.70 100.00
>>>>> vg_root-lv_var     0.00     0.00   75.45  278.24    33.53   136.70
>>>>> 985.73     4.36   33.26    1.34   41.91   0.59  20.84
>>>>> vg_root-lv_var     0.00     0.00  111.60  181.80    49.60    89.34
>>>>> 969.84     2.60    8.87    0.81   13.81   0.13   3.90
>>>>> vg_root-lv_var     0.00     0.00   68.40  109.60    30.40    53.63
>>>>> 966.87     1.51    8.46    0.84   13.22   0.80  14.16
>>>>> ...
>>>>>
>>>>> [CentOS7-ceph-rbd-ssd]
>>>>> $ gunzip large10gFile.gz &
>>>>> $ iostat -x vg_root-lv_data -d 5 -m -N
>>>>> Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s
>>>>> avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
>>>>> ...
>>>>> vg_root-lv_data     0.00     0.00   46.40  167.80     0.88     1.46
>>>>>  22.36     1.23    5.66    2.47    6.54   4.52  96.82
>>>>> vg_root-lv_data     0.00     0.00   16.60   55.20     0.36     0.14
>>>>>  14.44     0.99   13.91    9.12   15.36  13.71  98.46
>>>>> vg_root-lv_data     0.00     0.00   69.00  173.80     1.34     1.32
>>>>>  22.48     1.25    5.19    3.77    5.75   3.94  95.68
>>>>> vg_root-lv_data     0.00     0.00   74.40  293.40     1.37     1.47
>>>>>  15.83     1.22    3.31    2.06    3.63   2.54  93.26
>>>>> vg_root-lv_data     0.00     0.00   90.80  359.00     1.96     3.41
>>>>>  24.45     1.63    3.63    1.94    4.05   2.10  94.38
>>>>> ...
>>>>>
>>>>> [iostat key]
>>>>> w/s == The number (after merges) of write requests completed per
>>>>> second for the device.
>>>>> wMB/s == The number of sectors (kilobytes, megabytes) written to the
>>>>> device per second.
>>>>> avgrq-sz == The average size (in kilobytes) of the requests that were
>>>>> issued to the device.
>>>>> avgqu-sz == The average queue length of the requests that were issued
>>>>> to the device.
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> ceph-users mailing list
>>>>> ceph-users@lists.ceph.com
>>>>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>
> _______________________________________________
> ceph-users mailing list
> ceph-users@lists.ceph.com
> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to