Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
halayli
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
55 ms
·
601.
▲
by
halayli
12y ago
Please can you elaborate?
602.
▲
by
halayli
12y ago
Any feedback would be appreciated.
603.
▲
by
halayli
12y ago
I'd argue that queues can introduce a lot of similar problems. Especially when there's slowness (backing up, slow disk etc...). Messages over tcp sent directly to the processors are not that hard to design for failures and high av
604.
▲
by
halayli
12y ago
Any reason why you don't send the data directly to the processing servers as a way to minimize complexity? If it fails to reach one, try the other. When you mention low latency, how low are we talking? ms, seconds, minutes? The reason
605.
▲
by
halayli
12y ago
Well that's wrong. It's only the 3rd Thursday of the week.
606.
▲
by
halayli
12y ago
Not sure if cases like "No Parking 7AM - 9 AM every 3rd Thursday of the month" are covered in her design.
607.
▲
by
halayli
12y ago
This makes me so happy.
608.
▲
by
halayli
12y ago
to the CPU, what's a row and what's a table in this context.
609.
▲
by
halayli
12y ago
Define a record. Also can you elaborate more on how ASM instructions can be record oriented?
610.
▲
by
halayli
12y ago
I've looked at the tpc.org maybe 13 years ago. It never made sense to me to use it as a measurement unit back then and it still don't make sense to me now. :)
611.
▲
by
halayli
12y ago
But how can they claim they can do X transactions when a transaction's processing requirement is undefined?
612.
▲
by
halayli
12y ago
I know that but this is a very general definition of TPS. How many CPU cycles a transaction requires? It varies on the transaction of course. So I am wondering why they use TPS as a unit when it can be anything.
613.
▲
by
halayli
12y ago
what's a transaction in this context?
614.
▲
by
halayli
12y ago
It sounds like this guy just learnt about HTTP details.
615.
▲
by
halayli
12y ago
learn how to learn and you have to be naturally curious. The rest follows. This to me(subjectively) defines a hacker. Rarely do you reach dead ends when you know how to learn.
616.
▲
by
halayli
12y ago
Got it. thanks for the clarification.
617.
▲
by
halayli
12y ago
if you aren't going to tell me how the scaling is implemented, how it impacts ACID, and describe your edge cases well, then It's going to be hard to trust the solution.
618.
▲
by
halayli
12y ago
Ah -d:release made the results almost identical. Thanks!
619.
▲
by
halayli
12y ago
I copy/pasted the code in the article and compiled each one. I am getting very different ratios compared to the ones you posted: tmp$cc -Wall -O2 test.c -o test && time ./test real 0m1.041s user 0m0.998s sys 0m0.029s nim-0
620.
▲
by
halayli
12y ago
I see. The strategy should depend on the goal, of course. memcached is a good example of a daemon that shouldn't abort imho, many other daemons could happily abort. https://github.com/memcached/memcached/blob&
621.
▲
by
halayli
12y ago
you don't have to receive a request asking for 3 gigs of data. You could be close to the edge and there's not enough room to receive this particular request. There are many daemons that require you to keep what you have in memory
622.
▲
by
halayli
12y ago
An in-memory message queue server or memcached variations don't need to crash if it can't serve a particular request that requires more memory than available. I am not sure why error-handling is a difficult concept for you.
623.
▲
by
halayli
12y ago
It doesn't have to be interesting. Incorrect code covers a spectrum and is not black or white. The term "edge-case" describes it pretty well. Regarding mallocs, again you don't have to overthink error-handling. Just hand
624.
▲
by
halayli
12y ago
How do you know? What if someone forked this program and closed fd 0 before execX()? You have to abide by the posix standard and what the man page tells you. Now it never happens, but later the code can change and the case can hit. Most pro
625.
▲
by
halayli
12y ago
Few nitpicks found while skimming through the source. fd = socket(AF_INET6, SOCK_DGRAM, 0); if (fd <= 0) { This should be fd == -1. fd == 0 is valid. https://github.com/robertdavidgraham/robdns/blob/mas
626.
▲
by
halayli
12y ago
It's not fair because you are not comparing apples to apples. I can write a poll loop that accepts and sends back http responses and call it a webserver. h2o doesn't even use sendfile(2) which means file data is read and copied to
627.
▲
by
halayli
12y ago
Just use C++11
628.
▲
by
halayli
12y ago
Omitting one feature might not but things add up. Compare HTTP parsing in nginx with this one and you'll notice how much more rigor nginx is about it. Parsing transfer-encoding by itself is costly for example, and nginx does it whether
629.
▲
by
halayli
12y ago
This doesn't look like a complete HTTP server, comparing it with nginx is not fair. . It's missing content-encoding handling on the receiving side . No http continue support . No regex routing support . No header rewrites to name
630.
▲
by
halayli
12y ago
It's not as simple as you'd think. Monitoring 1 website is easy, monitoring 1M websites and gathering results in realtime from stations around the globe to make a proper decision is a different thing. Significant bandwidth, and CP
More ›