Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I think a lot of the time when people say the network is slow. They really mean their backend is slow.

With a fast backend ~1-5ms response times (not even that fast). Streaming compression over something like SSE to keep your response sub 1kb packet (roughly an ethernet MTU).

With a push based model, pushing data to a user is half their RTT latency. They will only experience their full RTT on actions they trigger.

Now the network to you is distance to the server (not your rail/nextjs backend taking 400ms). Things like 4G and 3G are fine. The real problem is when you have such bad signal you effectively have no down or up.



1-5ms response time is clearly hard for most real world endpoints.


I don't know how hard it is. But I can certainly say there is no business inscentive for it.

When it comes to improving performance by a few ms, or implementing a new feature, business people will always choose a new feature, unless the current performance is unbearably slow (we're talking regular 1.5s+ wait times for BE response).

And it's not even a modern problem, legacy software written 20 years ago has the same latency than most modern backends from my experience.


When I worked at Cisco we had regular 10 second responses on our main flows (bad data model) and still couldn't get buy-in to fix it.


Reddit's reaponses are rarely above 400ms. And yet their frontend routinely takes several seconds to render that response


> With a fast backend ~1-5ms response times (not even that fast).

Even though benchmarks suggest this sort of performance should be trivial, most real-world servers I have interacted with do not reliably managed to process a request, make a roundtrip to the DB, and return a response in <5ms


Project into sqlite on your app server is the main trick I use. Denormalize if you have to.

Hell, for a lot of projects you don't even need to get that fancy. Run a single server with an embedde database, running Go or Java and you're good to go.


But why is that?




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

Search: