Re: radosgw buffer overflow

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Nov 12, 2014 at 9:43 PM, Yehuda Sadeh <yehuda@xxxxxxxxxx> wrote:
> On Tue, Nov 11, 2014 at 5:19 AM, Mustafa Muhammad
> <mustafaa.alhamdaani@xxxxxxxxx> wrote:
>> On Tue, Nov 11, 2014 at 3:44 PM, pushpesh sharma <pushpesh.eck@xxxxxxxxx> wrote:
>>> Mustafa,
>>>
>>> You can get rid of these messages by setting your rgw_obj_chunk_size >=
>>> 'Object size your are testing with'. It will also increase the performance.
>>
>> Thank you for answering, I am using multiple objects (ranging from 500
>> MBs to 2 GBs), so I put "rgw obj chunk size = 4G" in
>> /etc/ceph/ceph.conf? 4G is OK right? and what is the upper limit?
>
> No, you shouldn't put that much for the chunk size. This will
> effectively disable striping, and cause a significant memory
> consumption per thread.

Ok, thank you.
One more think, I am trying to set "rgw thread pool size" more than
1024, at 1024 it works, but anything more than that it doesn't (even
1025).

I asked in #ceph and #ceph-devel and no answer.
Also were can I find civetweb log and configuration?

P.S. ulimit for apache is very high, so it is not a problem.
Thanks
Mustafa

>
> Yehuda
>
>>
>>>
>>> For CivetWeb you just need to set 'rgw_frontends="civetweb port=8080" , you
>>> can tune some of rgw_ config with it. I find the most useful one with
>>> civetweb is 'rgw_thread_pool_size' which maps to 'num_op_thread' in civetweb
>>> configs. I find value of '128' good enough, but you can play around.
>> It worked, thank you, but it is very slow comared to apache (but
>> lighter) and nginx, after changing object chunk size, it improved alot
>> (from about 100 MB/s to about 100 MB/s, still slower that nginx (about
>> 150~200 MB/s).
>>
>>>
>>> Yehuda,
>>> I didnt find any way to disable access logs in CivetWeb. I set all the
>>> *enable_logs parameter to false.
>>> I am not able to properly setup fcgi multiple instance on same host, any
>>> information would be useful.
>>>
>>>
>>> On Tue, Nov 11, 2014 at 4:40 PM, Mustafa Muhammad
>>> <mustafaa.alhamdaani@xxxxxxxxx> wrote:
>>>>
>>>> On Tue, Nov 11, 2014 at 1:49 AM, Yehuda Sadeh <yehuda@xxxxxxxxxx> wrote:
>>>> > On Mon, Nov 10, 2014 at 12:45 PM, Mustafa Muhammad
>>>> > <mustafaa.alhamdaani@xxxxxxxxx> wrote:
>>>> >> Hi,
>>>> >> I am using radosgw to connect to my ceph cluster, I am testing it and
>>>> >> with large number of requests, I get:
>>>> >> *** buffer overflow detected ***: /bin/radosgw terminated
>>>> >> in the syslog.
>>>> >> I use CentOS 7, and this is the some of the last lines of the log:
>>>> >>
>>>> >>  ceph version 0.80.5 (38b73c67d375a2552d8ed67843c8a65c2c0feba6)
>>>> >>  1: /bin/radosgw() [0x5daaf6]
>>>> >>  2: (()+0xf130) [0x7f177cd4e130]
>>>> >>  3: (gsignal()+0x39) [0x7f177bf905c9]
>>>> >>  4: (abort()+0x148) [0x7f177bf91cd8]
>>>> >>  5: (()+0x75dd7) [0x7f177bfd0dd7]
>>>> >>  6: (__fortify_fail()+0x37) [0x7f177c0688f7]
>>>> >>  7: (()+0x10bac0) [0x7f177c066ac0]
>>>> >>  8: (()+0x10d867) [0x7f177c068867]
>>>> >>  9: (OS_Accept()+0xc1) [0x7f177d4a18b1]
>>>> >>  10: (FCGX_Accept_r()+0x9c) [0x7f177d49f91c]
>>>> >>  11: (RGWFCGXProcess::run()+0x1c8) [0x4c9318]
>>>> >>  12: (RGWProcessControlThread::entry()+0xe) [0x4cc25e]
>>>> >>  13: (()+0x7df3) [0x7f177cd46df3]
>>>> >>  14: (clone()+0x6d) [0x7f177c05101d]
>>>> >>  NOTE: a copy of the executable, or `objdump -rdS <executable>` is
>>>> >> needed to interpret this.
>>>> >>
>>>> >> --- logging levels ---
>>>> >>    0/ 5 none
>>>> >>    0/ 1 lockdep
>>>> >>    0/ 1 context
>>>> >>    1/ 1 crush
>>>> >>    1/ 5 mds
>>>> >>    1/ 5 mds_balancer
>>>> >>    1/ 5 mds_locker
>>>> >>    1/ 5 mds_log
>>>> >>    1/ 5 mds_log_expire
>>>> >>    1/ 5 mds_migrator
>>>> >>    0/ 1 buffer
>>>> >>    0/ 1 timer
>>>> >>    0/ 1 filer
>>>> >>    0/ 1 striper
>>>> >>    0/ 1 objecter
>>>> >>    0/ 5 rados
>>>> >>    0/ 5 rbd
>>>> >>    0/ 5 journaler
>>>> >>    0/ 5 objectcacher
>>>> >>    0/ 5 client
>>>> >>    0/ 5 osd
>>>> >>    0/ 5 optracker
>>>> >>    0/ 5 objclass
>>>> >>    1/ 3 filestore
>>>> >>    1/ 3 keyvaluestore
>>>> >>    1/ 3 journal
>>>> >>    0/ 5 ms
>>>> >>    1/ 5 mon
>>>> >>    0/10 monc
>>>> >>    1/ 5 paxos
>>>> >>    0/ 5 tp
>>>> >>    1/ 5 auth
>>>> >>    1/ 5 crypto
>>>> >>    1/ 1 finisher
>>>> >>    1/ 5 heartbeatmap
>>>> >>    1/ 5 perfcounter
>>>> >>    1/ 5 rgw
>>>> >>    1/ 5 javaclient
>>>> >>    1/ 5 asok
>>>> >>    1/ 1 throttle
>>>> >>   -2/-2 (syslog threshold)
>>>> >>   -1/-1 (stderr threshold)
>>>> >>   max_recent     10000
>>>> >>   max_new         1000
>>>> >>   log_file /var/log/ceph/radosgw.log
>>>> >> --- end dump of recent events ---
>>>> >
>>>> > This might be an issue with the fastcgi library that radosgw uses (not
>>>> > sure which one and what version is used in centos 7). How many
>>>> > concurrent requests does it handle when it fails? You can try testing
>>>> > it with the standalone web server (civetweb), see how it behaves.
>>>> I think I am using fcgi 2.4.0, I use nginx with "fastcgi_buffering
>>>> off;" so it doesn't touch the disks.
>>>> Somtimes it handles 4000 connections, sometimes 1000.
>>>> I want to test civetweb but couldn't find any info about how to do so,
>>>> can you please give me a link to docs or something.
>>>>
>>>> Thank you.
>>>>
>>>> Mustafa
>>>> >>
>>>> >> P.S. I get lots of errors like:
>>>> >> RGWObjManifest::operator++(): result: ofs=20971520 stripe_ofs=20971520
>>>> >> part_ofs=0 rule->part_size=104857600
>>>> >
>>>> > This is just a too verbose log message, not necessarily pointing at
>>>> > anything wrong.
>>>> >
>>>> > Thanks,
>>>> > Yehuda
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>>>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
>>>
>>>
>>>
>>> --
>>> -Pushpesh
>>>
>>
>>
>>
>> Now about the buffer overflow, should I file a bug?
>> --
>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux