Live data from Hacker News

Do svidaniya, Igor, and thank you for Nginx

nginx.com

311–320 of 366 posts

Re: Do svidaniya, Igor, and thank you for Nginx

#311
post #112

I know this is massively off-topic (have a good well paid "retirement" Igor), but I assumed that it would be written as Dos Vidaniya instead of (the correct) Do svidanyia My Russian studies is limited to listening to Sean Connery in The Russia House, and I guess I took Dos from the latin languages. Odd.

I had the same thought. I think it's more Slavic vs Germanic/Romantic. "sv", without a vowel, doesn't exist in any word I can think of. However, in Russian, consonant clusters like that are pretty common. See also, from the article, Sberbank. I'd bet there's plenty of examples in reverse too.

s: with, together

vid: videt' = to see, vid as in video

anie: just a suffix like "ing" in english

"till together-seeing"

Re: Do svidaniya, Igor, and thank you for Nginx

#313

I'm an experienced dev with a deep knowledge of full stack web as well as infrastructure but I've never put nginx in front of any app. I want to but I honestly avoided it because I thought it was difficult. This may not be the right place to ask but is there a good guide for someone who's deep into nodejs who just wants to set up nginx on Debian in front of a node server with https? and just see how it goes.

I'm just a fool on the internet, but if your appserver is NodeJS, you might want to consider HAProxy over nginx (I say this as a fan of nginx). The reason being that (unless my information is stale), NodeJS will happily accept all the connections thrown at it, eventually causing each connection to be starved of compute capacity and finally falling over. HAProxy is able to keep a connection queue and feed a maximum of…

> HAProxy is able to keep a connection queue and feed a maximum of (for example) 4 concurrent requests to the backend(s), thus providing back-pressure to incoming requests.

NGINX can do this as well, either with the "max_conns" parameter for upstreams, or (trickier, but perhaps more effective when the upstream is async) in combination with rate limiting:

    limit_req_zone $server_name zone=root:10m rate=100r/s;
    limit_req_status 429;

    location / {
        limit_req zone=root burst=100 delay=4;
    }

Re: Do svidaniya, Igor, and thank you for Nginx

#314

Earlier quoted context omitted.

It was believed that lighttpd leaked memory quite badly, and there was also a period of time where the development/updates on lighttpd dramatically slowed down. Both of which wasn't a concern in the early days of nginx. https://serverfault.com/questions/330413/lighttpds-memory-le...

My memory is hazy but I think I remember running into an actual memory leak in lighttpd circa 2008. We were serving dynamic content via FastCGI, IIRC. This was a long time ago and I'm pretty hazy on the details, but I'm pretty sure I remember finding memory leak bug discussions on the lighttpd website around that time, and no clear answers on how to avoid it.

Back in 2008, if you had a FastCGI backend that produced a large body, such as a file download, lighttpd would allocate the same amount of memory and forget to free it afterward. Everything would work fine for a while, but then someone attaches a large file on your busy PHP forum and bam! Your 720MB linode is thrashing like there's no tomorrow.

The proper workaround was to send an X-Sendfile header to instruct lighttpd to fetch the file itself, instead of serving the content directly from the backend. It was also more efficient, but it required changes to backend code that made it less portable. I don't know if the bug was ever fixed as lighttpd development had slowed to a crawl and nginx arrived just in time to take away all the market share.

The introduction of PHP-FPM around the same time was another factor that favored nginx, because lighttpd typically integrated with PHP using a more fragile setup called fcgi-wrapper. PHP-FPM was much nicer to work with, and nginx could even load-balance across FPM pools. A lot of WordPress sites switched to nginx and never looked back.

Re: Do svidaniya, Igor, and thank you for Nginx

#315

> Do svidaniya I wonder if using English letters to write Russian phrases is acceptable practice for native Russians. Does it sound respectful, neutral or like a mockery? I don't mean in context of that post, which obviously is respectful, but in general. Especially when unicode is a thing and you could just write до свидания

While it is a little more difficult for us to read transliterated text, it is pretty common, and the only way to write something in Russian without a Cyrillic keyboard. So no worries, it is quite acceptable.

Re: Do svidaniya, Igor, and thank you for Nginx

#316
A side note left out in the history mentioned here is that Igor first[1] developed two third-party modules for Apache, mod_deflate and mod_accel[2]. I think especially the latter was a big step towards NGINX already. It was a much more capable replacement for the mod_proxy module that was bundled with Apache, and that would slurp up the response from the server as fast as it could, storing it in a local file cache while starting delivery to the client immediately (and optionally re-use the cache for future requests); it freed up the back-end server quickly, which was very helpful to reduce the number of concurrent processes in a system that used fork (as the Perl based systems I was working on did). It made performance better than FastCGI (as at least the Apache FastCGI implementation would not do the step of slurping up the response and copying it to a temporary file, and thus tie down the back-end process until the response was fully delivered to the client).

My interpretation of the history is that Igor first solved the scalability problems for a direct need (IIRC he was working for a large Russian website at the time[3]), while doing that probably realized that the Apache code base could be replaced whole-sale to do more than just HTTP proxying, and introduced the async approach to make it scalable itself, too.

[1] IIRC I saw the public NGINX announcement a few months after starting to use mod_accel. [2] Amazingly the page is still up: http://sysoev.ru/en/apache_modules.html (and it is still linking to the "Babelfish English translation" that I made by auto-translating and manually cleaning up the docs and that I hosted on a DynDNS domain that I've long since lost). [3] Rambler, from reading the other comments here.

Re: Do svidaniya, Igor, and thank you for Nginx

#317

Earlier quoted context omitted.

I think the characterization on Wikipedia is also incorrect. Igor seems to have had a permission directly from the CTO to open-source the code, but 10 years later the company claimed that the CTO was not in a position to do so.

The problem is that the CTO, who is rather famous in the Russosphere, only gave a verbal permision, and only mentioned this happening when he was long gone from the company. The lesson here is that, open source or not, you always need real documents to demarkate your IP, otherwise you're asking for trouble later down the line. In typical US or UK companies software written would just go to the company, period. Here's…

Thanks for further clarification. Verbal approvals are not good.

However, your reference to Spolsky is not correct as nginx was not a side project, but a core work project that powered all of Rambler's properties. The situation is similar to a Yahoo employee open-sourcing the Apache Traffic Server (very similar project with similar timelines, by the way; Rambler was once the "Russian Yahoo", while Yandex is the "Russian Google") and then Yahoo 10 years later claiming the open-sourcing was illegal. I understand that something may have been done wrong (and that's why I appreciate Eclipse and Apache legal team support and due diligence), but I have a hard time believing that Rambler didn't notice its core internal project being open-sourced for 10 years.

Re: Do svidaniya, Igor, and thank you for Nginx

#318
post #255

Earlier quoted context omitted.

Around here, Apache was heavily used for its mod_php. It could run php embedded without complex fcgi setup. Then everyone moved to ruby and python (and also perl) and mod_php stopped being an advantage.

Everyone moved to Ruby and Python? In your bubble perhaps, but PHP is probably more popular than Ruby and Python combined globally.

Definitely not everyone, and you might be right based on actual number of websites, but the zeitgeist definitely moved to Rails and Django for a while.

Re: Do svidaniya, Igor, and thank you for Nginx

#319

> Do svidaniya I wonder if using English letters to write Russian phrases is acceptable practice for native Russians. Does it sound respectful, neutral or like a mockery? I don't mean in context of that post, which obviously is respectful, but in general. Especially when unicode is a thing and you could just write до свидания

What if he was Japanese? Would you prefer to see "Sayonara" or "左様なら"?

I know this is getting very off-topic, but Japanese speakers would probably not write 左様なら either - it's usually written in kana: さようなら.

Back on topic, as a speaker of another language using Cyrillic, for me romanisation is perfectly normal/expected in this context. I don't expect English speakers to have to learn a new alphabet just to be able to read the title of a blog post which is otherwise in English.

Re: Do svidaniya, Igor, and thank you for Nginx

#320

I know this is massively off-topic (have a good well paid "retirement" Igor), but I assumed that it would be written as Dos Vidaniya instead of (the correct) Do svidanyia My Russian studies is limited to listening to Sean Connery in The Russia House, and I guess I took Dos from the latin languages. Odd.

The process is called “Romanization of Russian” [1], and there are various standard ways to do it.

[1] https://en.m.wikipedia.org/wiki/Romanization_of_Russian

Post reply on HN