*** mikecmpbll has quit IRC | 00:13 | |
openstackgerrit | Merged openstack/swift stable/train: CHANGELOG for 2.23.1 https://review.opendev.org/688848 | 00:18 |
---|---|---|
*** NM has joined #openstack-swift | 00:38 | |
*** nanzha has joined #openstack-swift | 01:06 | |
*** NM has quit IRC | 01:32 | |
*** manuvakery has quit IRC | 02:41 | |
*** psachin has joined #openstack-swift | 03:37 | |
*** diablo_rojo has quit IRC | 04:22 | |
*** manuvakery has joined #openstack-swift | 05:43 | |
*** manuvakery has quit IRC | 06:17 | |
*** nanzha has quit IRC | 06:31 | |
*** nanzha has joined #openstack-swift | 06:37 | |
*** manuvakery has joined #openstack-swift | 06:42 | |
openstackgerrit | OpenStack Proposal Bot proposed openstack/swift master: Imported Translations from Zanata https://review.opendev.org/688883 | 07:10 |
manuvakery | dcourtoi using rabbimtq shovel on proxy-servers definitely help atleast the whole cluster wont fail when rabbitmq server is down. Still wondering even with nonblocking_notify=true why all proxy fails completely | 07:14 |
*** tesseract has joined #openstack-swift | 07:22 | |
*** pcaruana has joined #openstack-swift | 07:26 | |
*** rdejoux has joined #openstack-swift | 07:30 | |
*** rpittau|afk is now known as rpittau | 08:01 | |
*** e0ne has joined #openstack-swift | 08:30 | |
*** mikecmpbll has joined #openstack-swift | 08:39 | |
*** mikecmpbll has quit IRC | 09:44 | |
*** e0ne has quit IRC | 10:14 | |
*** e0ne has joined #openstack-swift | 10:25 | |
*** e0ne has quit IRC | 10:42 | |
*** e0ne has joined #openstack-swift | 10:44 | |
*** e0ne has quit IRC | 10:45 | |
*** e0ne has joined #openstack-swift | 10:54 | |
*** zigo has quit IRC | 10:54 | |
*** e0ne has quit IRC | 10:59 | |
*** zigo has joined #openstack-swift | 11:05 | |
*** tkajinam has quit IRC | 11:16 | |
*** e0ne has joined #openstack-swift | 11:18 | |
*** e0ne_ has joined #openstack-swift | 11:20 | |
*** e0ne has quit IRC | 11:23 | |
*** e0ne_ has quit IRC | 11:25 | |
*** manuvakery has quit IRC | 11:29 | |
*** e0ne has joined #openstack-swift | 11:41 | |
*** e0ne has quit IRC | 11:49 | |
*** e0ne has joined #openstack-swift | 11:52 | |
*** nanzha has quit IRC | 12:02 | |
*** nanzha has joined #openstack-swift | 12:10 | |
*** e0ne has quit IRC | 12:16 | |
*** e0ne has joined #openstack-swift | 12:21 | |
*** NM has joined #openstack-swift | 12:24 | |
*** e0ne has quit IRC | 12:37 | |
*** e0ne has joined #openstack-swift | 12:37 | |
*** e0ne has quit IRC | 12:42 | |
*** e0ne has joined #openstack-swift | 13:20 | |
rledisez | manuvakery: after some testing and code analysis I came to the conclusion that nonblocking_notify=true is not working. I looked into it at some point to try to fix it, but it looked to me that it would imply major refactoring so I gave up. when we need to restart a rabbitmq (which is rare, we exclude the proxy-server from the load balancing) (as dcourtoi said we run rabbitmq locally to proxy-servers) | 13:27 |
*** e0ne has quit IRC | 13:33 | |
*** e0ne has joined #openstack-swift | 13:34 | |
*** e0ne has quit IRC | 13:34 | |
*** e0ne has joined #openstack-swift | 13:35 | |
*** rcernin has quit IRC | 13:40 | |
*** e0ne has quit IRC | 13:42 | |
*** e0ne has joined #openstack-swift | 13:42 | |
*** manuvakery has joined #openstack-swift | 13:51 | |
*** pcaruana has quit IRC | 13:53 | |
*** psachin has quit IRC | 13:54 | |
*** e0ne has quit IRC | 13:59 | |
*** e0ne has joined #openstack-swift | 14:03 | |
*** e0ne has quit IRC | 14:13 | |
*** e0ne has joined #openstack-swift | 14:18 | |
*** e0ne has quit IRC | 14:27 | |
*** e0ne has joined #openstack-swift | 14:27 | |
*** diablo_rojo has joined #openstack-swift | 14:51 | |
clayg | i wonder how much I should be thinking about null-bytes in shard ranges? | 14:53 |
*** psachin has joined #openstack-swift | 14:57 | |
*** FlorianFa has quit IRC | 15:01 | |
*** gyee has joined #openstack-swift | 15:07 | |
*** e0ne has quit IRC | 15:18 | |
*** e0ne has joined #openstack-swift | 15:19 | |
*** e0ne has quit IRC | 15:22 | |
*** e0ne has joined #openstack-swift | 15:26 | |
*** e0ne has quit IRC | 15:29 | |
*** NM has quit IRC | 15:32 | |
*** e0ne has joined #openstack-swift | 15:33 | |
*** e0ne has quit IRC | 15:37 | |
*** e0ne has joined #openstack-swift | 15:39 | |
openstackgerrit | Merged openstack/swift master: Imported Translations from Zanata https://review.opendev.org/688883 | 15:52 |
*** e0ne_ has joined #openstack-swift | 15:56 | |
*** e0ne has quit IRC | 15:58 | |
*** rpittau is now known as rpittau|afk | 16:04 | |
*** binwiederhier has joined #openstack-swift | 16:05 | |
binwiederhier | hey does swift support `Connection: keep-alive`/HTTP1.1? | 16:06 |
binwiederhier | It seems to keep the connection open after a PUT response, but then when I send another PUT it kills the connection on me | 16:06 |
*** nanzha has quit IRC | 16:11 | |
*** e0ne_ has quit IRC | 16:16 | |
*** e0ne has joined #openstack-swift | 16:17 | |
*** rdejoux has quit IRC | 16:18 | |
*** e0ne has quit IRC | 16:39 | |
*** e0ne has joined #openstack-swift | 16:42 | |
*** e0ne has quit IRC | 16:45 | |
*** e0ne has joined #openstack-swift | 16:50 | |
timburke | binwiederhier, yes, it should -- what do the proxy-server logs have to say? | 16:52 |
*** e0ne has quit IRC | 16:53 | |
binwiederhier | They just show the single request even when I enabled DEBUG and eventlet_debug. I'll paste an example when I get to my desk | 16:57 |
*** NM has joined #openstack-swift | 16:58 | |
binwiederhier | https://pastebin.com/brs5Q6Ky | 17:04 |
binwiederhier | https://pastebin.com/02rQJL45 | 17:06 |
binwiederhier | the first one is a manual netcat with me pasting the PUT request into the terminal. | 17:06 |
binwiederhier | the connection is cut by the proxy after i send the second PUT | 17:07 |
*** e0ne has joined #openstack-swift | 17:11 | |
timburke | do i see a newline between the "12345" and the "PUT /v1/..."? i think that might break the HTTP framing... | 17:15 |
*** e0ne has quit IRC | 17:16 | |
timburke | fwiw, i could do some pipelined requests with nc, but it's a little hard to read: http://paste.openstack.org/show/784733/ | 17:16 |
*** tesseract has quit IRC | 17:18 | |
timburke | adding a newline between my end of body and start of next request, i get a broken pipe, too: http://paste.openstack.org/show/784734/ | 17:19 |
binwiederhier | oh interesting. | 17:19 |
binwiederhier | so you just continue with the next request after the content-length is reached. | 17:19 |
binwiederhier | will try | 17:19 |
binwiederhier | timburke: perfect. thank you! | 17:20 |
timburke | chunk-encoded uploads might be somewhat more readable? i know there's a bunch more newlines with that | 17:21 |
timburke | happy to help! glad it's working better for you now :-) | 17:21 |
*** diablo_rojo has quit IRC | 17:25 | |
binwiederhier | Not sure if anyone is interested, but I made this plugin to protect from fatfinger deletes of accounts and objects: https://github.com/binwiederhier/swift-recycle | 17:48 |
binwiederhier | Could be much more sophisticated, but this works :-) | 17:48 |
timburke | cool! Thanks for putting it out there :-) | 17:50 |
timburke | out of curiosity, what are you using swift for? i love hearing user stories | 17:50 |
binwiederhier | You can ask Joe for more details :-) I work for Datto, a backup company. My company has a 700 node cluster and we're looking to use swift for another application. | 17:53 |
binwiederhier | ~ 150 PB | 17:53 |
tdasilva | timburke: with defaulter middleware and X-Object-Meta-Recycled could one apply that to every object PUT? | 17:54 |
timburke | oh, yeah! i've ben hearing a bit about you guys here at SwiftStack lately :-) definitely an impressive cluster! | 17:54 |
timburke | tdasilva ... yes? that'd be the idea, anyway | 17:55 |
binwiederhier | While I have you guys, I two other questions: (1) Assuming no payload (empty/tiny objects), are there any metrics around what the performance of Swift can be? Our tests for with a 10 object-node cluster are not as exciting as I'd hope them to be. (2) The "small file prototype" seems to use a lot of Go and an arguably vastly different architecture than the rest of swift. How likely is that gonna get merged the way it is and when? | 17:59 |
timburke | on 2, i'm hoping that can be one of our main focuses for the next year or so. exact timelines will kinda depend on how much we get pulled in other directions -- things like s3 versioning and the like | 18:02 |
timburke | i'm super-excited about it though -- feels like a model for how we could do more experimentation in the object servers | 18:03 |
binwiederhier | So I spent yesterday writing an inline packer that buffers and packs items as they are PUT and I was able get a 10x performance increase on my PUT tests. | 18:04 |
binwiederhier | It's just 200 lines of code or so and so far only handles PUTs and not GETs or DELETEs and repacking, but it is much simpler than what I saw the other code was. I'll share the code here when it's a little cleaned up. | 18:05 |
timburke | nice! what's the behavior like in the event of a crash, though? i know rledisez is always trying to get rid of fsync calls, but then we get nervous about whether we really have durable data after returning a 201... | 18:07 |
timburke | now i'm curious. can't wait to take a look! | 18:08 |
binwiederhier | It doesnt return until the pack PUT is complete. It forwards the response to all original PUTs. | 18:09 |
timburke | cool! love it! | 18:10 |
binwiederhier | That's why I'm asking for the PUTs/second, I am barely getting more than 1k/s without packing, and that's across 10 object nodes and proxies with 360 x 12T disks | 18:13 |
binwiederhier | With my inline packer I'm able to get 10k/s | 18:13 |
binwiederhier | (form the application perspective) | 18:14 |
*** psachin has quit IRC | 18:15 | |
timburke | looking at some data from when i was benchmarking encryption a few years ago, i think i was seeing ~100 PUTs/second, but i forget exactly what my setup was -- i wanna say just 5 nodes? not sure how many disks per node. also, i forget whether i was using a load balancer or just hitting one proxy... | 18:22 |
timburke | lemme ask around, see if i can get you some better/more recent numbers | 18:22 |
rledisez | binwiederhier: basicilly, from a 12TB disk, you can expect about 40 PUT/s because of the way XFS and Swift works, it requires 3 sync per PUT (datafile, object dir, suffix dir). So, 40 PUT * 3 sync == 120 write IO, which is the IO capacity of a disk. | 18:27 |
rledisez | to compare, on LOSF, we were reaching about 90 PUT/s (because it only requires 1 sync per PUT in the majority of cases) | 18:27 |
rledisez | so, depending on the concurrency and numbers of disk, you can estimate your IO capacity | 18:27 |
timburke | fwiw, i know the per-request overhead (HTTP parsing, spinning up back-end connections, fsyncs, etc.) dominates below about 1MB -- you'd get about the same req/s whether they're 0B, 1k, 100k. right around 1MB (in my testing, anyway), i'd expect to start to get network-bound | 18:29 |
timburke | oh hey, here's a nice graph! https://www.cisco.com/c/dam/en/us/td/docs/unified_computing/ucs/UCS_CVDs/ucs_s3260_m5_swiftstack.docx/_jcr_content/renditions/ucs_s3260_m5_swiftstack_89.png | 18:32 |
timburke | looks like that was 12 node, 28x 10TB drives/node | 18:33 |
timburke | found at https://www.cisco.com/c/en/us/td/docs/unified_computing/ucs/UCS_CVDs/ucs_s3260_m5_swiftstack.html#_Toc530487600 | 18:34 |
rledisez | "+ 12 NVMe" => now I understand ;) | 18:35 |
rledisez | hum, it says it's for A/C. I need to read this document because 13k PUT/s seems a lot on 112 drives (*3) | 18:37 |
timburke | gotta love the 40Gb NICs :D | 18:43 |
binwiederhier | (on my phone right now, so I can't get more numbers or details but we were not network bound at all. 10g NICs at all) | 18:50 |
timburke | yeah, i wouldn't expect you to be with small objects. just commenting/drooling :-) | 18:51 |
*** e0ne has joined #openstack-swift | 19:03 | |
*** gyee has quit IRC | 19:39 | |
*** gyee has joined #openstack-swift | 19:39 | |
*** e0ne has quit IRC | 19:42 | |
openstackgerrit | Tim Burke proposed openstack/swift stable/stein: Sharding: Clean up old CleaveConext's during audit https://review.opendev.org/689567 | 19:45 |
*** e0ne has joined #openstack-swift | 19:47 | |
openstackgerrit | Tim Burke proposed openstack/swift stable/stein: versioned_writes: checks for SLO object before copy https://review.opendev.org/689568 | 19:54 |
openstackgerrit | Tim Burke proposed openstack/swift stable/stein: dlo: Respond 200 on multi-range GETs https://review.opendev.org/689570 | 19:58 |
*** e0ne has quit IRC | 20:25 | |
openstackgerrit | Tim Burke proposed openstack/swift stable/stein: slo: Better handle non-manifest responses when refetching manifest https://review.opendev.org/689580 | 20:41 |
openstackgerrit | Tim Burke proposed openstack/swift stable/stein: sharding: better handle get_shard_ranges failures https://review.opendev.org/689582 | 20:45 |
openstackgerrit | Tim Burke proposed openstack/swift stable/stein: Fix invalid assert states https://review.opendev.org/689583 | 20:46 |
*** e0ne has joined #openstack-swift | 20:53 | |
openstackgerrit | Tim Burke proposed openstack/swift stable/stein: Fix incorrect setting of symlink_target_account https://review.opendev.org/689587 | 20:54 |
openstackgerrit | Tim Burke proposed openstack/swift stable/stein: s3api: Fix ETag when copying a MU part from another MU https://review.opendev.org/689589 | 20:57 |
binwiederhier | So I can't see anything on that doc that says the did anything special here. I would have expected the nvme drives used as xfs logdev | 20:58 |
binwiederhier | But that doesn't seem to be the case. It's PACO with nvmes for A/C | 20:59 |
openstackgerrit | Tim Burke proposed openstack/swift stable/stein: Set Content-Type with s3api metadata updates. https://review.opendev.org/689591 | 21:00 |
openstackgerrit | Tim Burke proposed openstack/swift stable/stein: S3Api: handle non-ASCII markers in v1 listings. https://review.opendev.org/689592 | 21:01 |
*** e0ne has quit IRC | 21:06 | |
openstackgerrit | Tim Burke proposed openstack/swift stable/stein: S3Api: handle non-ASCII markers in v1 listings. https://review.opendev.org/689592 | 21:20 |
*** NM has quit IRC | 21:49 | |
*** joeljwright has quit IRC | 22:08 | |
openstackgerrit | Tim Burke proposed openstack/swift master: Add py38 unit test job https://review.opendev.org/689599 | 22:15 |
timburke | let's see if that works ;-) | 22:15 |
openstackgerrit | Merged openstack/swift stable/stein: Fix invalid assert states https://review.opendev.org/689583 | 23:00 |
openstackgerrit | Merged openstack/swift stable/stein: sharding: better handle get_shard_ranges failures https://review.opendev.org/689582 | 23:04 |
*** gyee has quit IRC | 23:56 |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!