nginx
nginx ("engine x")Β β ΡΡΠΎ HTTP-ΡΠ΅ΡΠ²Π΅Ρ, ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΠΏΡΠΎΠΊΡΠΈ ΡΠ΅ΡΠ²Π΅Ρ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, TCP/UDP ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠΎΠ²ΡΠΉ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅Ρ. ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΠΠ³ΠΎΡΠ΅ΠΌ Π‘ΡΡΠΎΠ΅Π²ΡΠΌ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ BSD ΠΈΠ· 2 ΠΏΡΠ½ΠΊΡΠΎΠ².
nginx ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠ²ΠΎΠ΅ΠΉ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π³ΠΈΠ±ΠΊΠΎΡΡΡΡ, Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΡΡΡΠΎΠ². ΠΠ½ ΡΠ°ΠΊΠΆΠ΅:
- ΡΠ°ΠΌΡΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Π² ΠΌΠΈΡΠ΅ [Netcraft];
- ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΡ Docker-ΠΎΠ±ΡΠ°Π·ΠΎΠ² [DataDog];
- Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Ingress-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ Π΄Π»Ρ Kubernetes, Π²ΠΊΠ»ΡΡΠ°Ρ Π½Π°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ.
ΠΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈ ΡΡΠ΅Π½ΠΈΠ½Π³ΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ F5, Inc.
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ HTTP-ΡΠ΅ΡΠ²Π΅ΡΠ°
- ΠΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² ΠΎΡΠΊΡΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²;
- ΠΠΊΡΠ΅Π»Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ;
- ΠΠΊΡΠ΅Π»Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° FastCGI, uwsgi, SCGI ΠΈ memcached ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Ρ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ;
- ΠΠΎΠ΄ΡΠ»ΡΠ½ΠΎΡΡΡ, ΡΠΈΠ»ΡΡΡΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠΆΠ°ΡΠΈΠ΅ (gzip), byte-ranges (Π΄ΠΎΠΊΠ°ΡΠΊΠ°), chunked ΠΎΡΠ²Π΅ΡΡ, XSLT-ΡΠΈΠ»ΡΡΡ, SSI-ΡΠΈΠ»ΡΡΡ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ; Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΠ΅ Π² SSI-ΡΠΈΠ»ΡΡΡΠ΅ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠΊΡΠΈ ΠΈΠ»ΠΈ FastCGI/uwsgi/SCGI, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ;
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SSL ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ TLS SNI;
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° HTTP/2 Ρ ΠΏΡΠΈΠΎΡΠΈΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²Π΅ΡΠΎΠ² ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ;
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° HTTP/3.
ΠΡΡΠ³ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ HTTP-ΡΠ΅ΡΠ²Π΅ΡΠ°
- ΠΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠ΅ ΠΏΠΎ IP-Π°Π΄ΡΠ΅ΡΡ ΠΈ ΠΈΠΌΠ΅Π½ΠΈ;
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° keep-alive ΠΈ pipelined ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ;
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΎΡΠΌΠ°ΡΠΎΠ² Π»ΠΎΠ³ΠΎΠ², Π±ΡΡΠ΅ΡΠΈΠ·ΠΎΠ²Π°Π½Π½Π°Ρ Π·Π°ΠΏΠΈΡΡ Π² Π»ΠΎΠ³, Π±ΡΡΡΡΠ°Ρ ΡΠΎΡΠ°ΡΠΈΡ Π»ΠΎΠ³ΠΎΠ², Π·Π°ΠΏΠΈΡΡ Π² syslog;
- Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Π΄Π»Ρ ΠΎΡΠΈΠ±ΠΎΠΊ 3xx-5xx;
- rewrite-ΠΌΠΎΠ΄ΡΠ»Ρ: ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ URI Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ;
- ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π°Π΄ΡΠ΅ΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°;
- ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π°Π΄ΡΠ΅ΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΏΠΎ ΠΏΠ°ΡΠΎΠ»Ρ (HTTP Basic Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ) ΠΈ ΠΏΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΠ°;
- ΠΡΠΎΠ²Π΅ΡΠΊΠ° HTTP referer;
- ΠΠ΅ΡΠΎΠ΄Ρ PUT, DELETE, MKCOL, COPY ΠΈ MOVE;
- FLV ΠΈ MP4 ΡΡΡΠΈΠΌΠΈΠ½Π³;
- ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΎΡΠ΄Π°ΡΠΈ ΠΎΡΠ²Π΅ΡΠΎΠ²;
- ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ°;
- ΠΠ΅ΠΎΠ»ΠΎΠΊΠ°ΡΠΈΡ ΠΏΠΎ IP-Π°Π΄ΡΠ΅ΡΡ;
- A/B-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅;
- ΠΠ΅ΡΠΊΠ°Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ²;
- ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Perl;
- ΡΡΠ΅Π½Π°ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ njs.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΏΠΎΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅ΡΠ°
- ΠΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° IMAP- ΠΈΠ»ΠΈ POP3-ΡΠ΅ΡΠ²Π΅Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ HTTP-ΡΠ΅ΡΠ²Π΅ΡΠ° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ;
- ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ HTTP-ΡΠ΅ΡΠ²Π΅ΡΠ° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π½Π° Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ SMTP-ΡΠ΅ΡΠ²Π΅Ρ;
- ΠΠ΅ΡΠΎΠ΄Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ:
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SSL;
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° STARTTLS ΠΈ STLS.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ TCP/UDP ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅ΡΠ°
- ΠΡΠΎΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ TCP ΠΈ UDP;
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SSL ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ TLS SNI Π΄Π»Ρ TCP;
- Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ;
- ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π°Π΄ΡΠ΅ΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°;
- ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π°Π΄ΡΠ΅ΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°;
- ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ°;
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΎΡΠΌΠ°ΡΠΎΠ² Π»ΠΎΠ³ΠΎΠ², Π±ΡΡΠ΅ΡΠΈΠ·ΠΎΠ²Π°Π½Π½Π°Ρ Π·Π°ΠΏΠΈΡΡ Π² Π»ΠΎΠ³, Π±ΡΡΡΡΠ°Ρ ΡΠΎΡΠ°ΡΠΈΡ Π»ΠΎΠ³ΠΎΠ², Π·Π°ΠΏΠΈΡΡ Π² syslog;
- ΠΠ΅ΠΎΠ»ΠΎΠΊΠ°ΡΠΈΡ ΠΏΠΎ IP-Π°Π΄ΡΠ΅ΡΡ;
- A/B-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅;
- ΡΡΠ΅Π½Π°ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ njs.
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ
- ΠΠ΄ΠΈΠ½ Π³Π»Π°Π²Π½ΡΠΉ ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΡΠ°Π±ΠΎΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ΄ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ;
- ΠΠΈΠ±ΠΊΠΎΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ;
- ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π±Π΅Π· ΠΏΠ΅ΡΠ΅ΡΡΠ²Π° Π² ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ²;
-
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°
kqueue (FreeBSD 4.1+),
epoll (Linux 2.6+),
/dev/poll
(Solaris 7 11/99+), event ports(Solaris 10), select ΠΈ poll; - ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ kqueue, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ EV_CLEAR, EV_DISABLE (Π΄Π»Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΡ), NOTE_LOWAT, EV_EOF, ΡΠΈΡΠ»ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΠ΄Ρ ΠΎΡΠΈΠ±ΠΎΠΊ;
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ epoll, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ EPOLLRDHUP (Linux 2.6.17+, glibc 2.8+) ΠΈ EPOLLEXCLUSIVE (Linux 4.5+, glibc 2.24+);
-
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° sendfile (FreeBSD 3.1+, Linux 2.2+, macOS 10.5+),
sendfile64 (Linux 2.4.21+) ΠΈ sendfilev
(Solaris 8 7/01+); - ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ AIO (FreeBSD 4.3+, Linux 2.6.22+);
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° DIRECTIO (FreeBSD 4.4+, Linux 2.4+, Solaris 2.6+, macOS);
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° accept-ΡΠΈΠ»ΡΡΡΠΎΠ² (FreeBSD 4.1+, NetBSD 5.0+) ΠΈ TCP_DEFER_ACCEPT (Linux 2.4+);
-
ΠΠ°
10 000 Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΡΡ HTTP keep-alive ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΡΠ°ΡΡ ΠΎΠ΄ΡΠ΅ΡΡΡ ΠΎΠΊΠΎΠ»ΠΎ 2.5M ΠΏΠ°ΠΌΡΡΠΈ; - ΠΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ .
ΠΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΠ‘ ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ
- FreeBSD 3Β β 12 / i386; FreeBSD 5Β β 12 / amd64; FreeBSD 11 / ppc; FreeBSD 12 / ppc64;
- Linux 2.2Β β 4 / i386; Linux 2.6Β β 5 / amd64; Linux 3Β β 4 / armv6l, armv7l, aarch64, ppc64le; Linux 4Β β 5 / s390x;
- Solaris 9 / i386, sun4u; Solaris 10 / i386, amd64, sun4v; Solaris 11 / x86;
- AIX 7.1 / powerpc;
- HP-UX 11.31 / ia64;
- macOS / ppc, i386, x86_64;
- Windows XP, Windows Server 2003, Windows 7, Windows 10, Windows 11.