Hacker Newsnew | past | comments | ask | show | jobs | submit | more gresrun's commentslogin

In sidemount diving, each diver carries two completely independent tanks & regulators, one on each side of their body.

While it is used primarily in cave diving because it is more streamlined and less likely to collide with cave ceilings and features, I find it also quite comfortable for recreational dives with a pair of AL40s.

It’s also a fun conversation starter with other divers who are curious about my gear!


If you’re only getting 500qps out of Netty something is deeply wrong with your set up. I’ve written multiple HTTP & socket servers based on Netty (albeit 6+ years ago) and they all could handle 20kqps+.


Probably a combination of Netty having a small default thread pool size (2*cores) and the benchmark doing something blocking or compute intensive. Tomcat defaults to 200 threads, which would explain the difference.

Edit: Though the page says "The controller does nothing except return a simple 200".


Yeah really doesn't add up - 2 ms to just return a code? What could it possibly be doing with so much time.


The Nagle algorithm interferring with a small packet size, perhaps?

The 2ms delay would be just about right.


I ran the load tests and couldn't explain it either. I adjusted the thread pools, buffer sizes and a bunch of other parameters and couldn't get Netty to scale.

I think Netty tries too hard to be everything to everyone. This makes it really hard to determine how to configure it properly across a bunch of different versions with lots of incompatibilities.

I wrote java-http with the concept of not doing that. It's purpose built for HTTP and high performance.

Once I have some time, I'll publish my Netty setup and let the community bang on it and see if they can beat my RPS. At 65k, it might be hard though. :)


What's the hardware being used for your test? I get 55k RPS with a basic 200 responder with zio-http[0] (which uses Netty) on my i5-6600K, and over 20k RPS for an e2e POST endpoint that does write batching to postgres (committing the insert before responding to all of the clients in the batch with with their individual db generated ids). Postgres, client (vegeta[1]), and the app all on the same machine. I think that was with keep-alive, I think like 256 clients for the basic responder and 1024 for the one that writes to the db. There's a recently merged PR for zio-http that does 1M RPS on whatever machine they test on[2] so Netty can absolutely scale to high RPS.

[0] https://github.com/zio/zio-http

[1] https://github.com/tsenart/vegeta

[2] https://github.com/zio/zio-http/pull/1659


Would love to see your set up!


Sounds good. Once I get the project published, it will include all of the load tests for each server as well as the setup and code for it all. Might be a couple of weeks or so, but it will be a separate GH project. Something like java-http-performance.


I tried to file a report with video evidence from the car 2 years ago. I was never able to get through to anyone at the police who would take the report, just passed to a voicemail and no one ever called back or acknowledged the report.


FYI, any email-ish looking value works. E.g.: afdasdf@gfgs.com


It was also built to allow the U.S. Army to rapidly move convoys of trucks, tanks, & materiel around the U.S.[0].

[0]: https://en.wikipedia.org/wiki/Federal-Aid_Highway_Act_of_195...


And also built to allow rapid evacuation of large cities in case of nuclear attack. I think it's lost on a lot of people today just how many things we did in the 50s, 60s, and 70s because we were scared of being bombed.


Dart's documentation is comprehensive, well-written, and provides tons of meaningful examples.[0].

[0]: https://dart.dev/guides



Skottie: Lottie player using the Skia graphics library[0][1]

Skia powers Google Chrome[2], Flutter, & Fuchia[3].

[0]: https://skia.org/docs/user/modules/skottie/ [1]: https://skottie.skia.org/ [2]: https://skia.org/ [3]: https://skia.org/docs/dev/flutter/


Waymo built a bespoke, 113 acre facility for this very purpose back in 2017[0][1].

Full disclosure: Google employee, working on nothing to do with Waymo.

[0]: https://blog.waymo.com/2020/09/the-waymo-drivers-training-re... [1]: https://www.wired.com/story/google-waymo-self-driving-car-ca...


Google did that, but there are no regulations forcing everyone who build self driving cars to do that.


YouTube used to use a MySQL-based system called Vitess[0]. It no longer uses it and has migrated to Spanner.

[0]: https://vitess.io/


Thanks for the update! I found more details there: https://opensource.google/projects/vitess

> How Google uses Vitess

> Vitess was serving all YouTube database traffic from 2011 to 2019.


Ah this is interesting. Do you have any references on their migration to Spanner?


gresrun works at YouTube, if by reference you mean citation then his comment is it.


wikibob was probably looking more for public documentation about the why and how rather than confirmation that the statement is true.


Yep, I love watching conference talks or reading Twitter threads, papers, etc about these kind of migrations.


Probably because Youtube was using MySQL before being acquired and switched to a better, probably fully managed DB that was much easier (free?) to maintain and scale.


was that migration a technical decision or a political one?


This is one of those scenarios where the answer is likely to be “both”, but I doubt you’ll get anyone discussing YouTube internal architecture in enough detail to be satisfying. Just look up what Vitesse is and compare what that implies in terms of operational complexity to using something like spanner if you want a straw man technical rationale.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: