ΠΠΎΠ»-Π₯Π΅Π½ΠΈΠ½Π³ ΠΠ°ΠΌΠΏ (Poul-Henning Kamp), ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² FreeBSD, ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°Π²ΡΠΈΠΉ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΊΠ°ΠΊ MD5crypt, GEOM, GBDE ΠΈ FreeBSD Jail, ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ» ΡΠ΅Π»ΠΈΠ· Varnish-Cache 8.0, Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠΊΡΠΈ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π² ΡΠΎΠ»ΠΈ HTTP-Π°ΠΊΡΠ΅Π»Π΅ΡΠ°ΡΠΎΡΠ°. ΠΡΠΎΠ΅ΠΊΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ BSD ΠΈ Π² ΡΠ²ΠΎΡ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ Facebook, Wikimedia, Twitter, Vimeo, Tumblr, New York Times ΠΈ Guardian.
ΠΡΡΠΎΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ, ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠ² epoll/kqueue ΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² sendfile ΠΈ madvise. ΠΠ° ΠΎΠ±ΡΡΠ½ΠΎΠΌ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΡΠΎΠΊ Π² 20 Gbps ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΄Π°ΡΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² 300-1000 ΡΠ°Π·. ΠΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ Varnish ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΎΡΠ΄Π°Π²Π°Π΅ΠΌΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠΎ ΡΠ°ΡΡΡΠΌ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΡΠΎΠ½ΡΡΠ½Π΄Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΡΠ±ΠΎΡΠΊΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ ESI (Edge Side Includes).
Varnish ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π³ΠΈΠ±ΠΊΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΠ°Π²ΠΎΠΊ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ. ΠΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ VCL, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΊΠΎΠ΄. VCL ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠ°: ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ, ΠΎΡΠΊΡΠ΄Π° Π΅Π³ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΡΠ΄Π°ΡΠ΅ΠΉ. ΠΠ°Π·ΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΡΠΈΡΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΌΠΎΠ΄ΡΠ»ΠΈ. ΠΡΠΈΡΡΡΡΡΠ²ΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, ΡΡΡΡΠ° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ΅Π°ΠΊΡΠΈΠΈ Π±ΡΠΊΠ΅Π½Π΄-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ².
ΠΠΌΠ΅ΡΡΠ΅ Ρ Π°Π½ΠΎΠ½ΡΠΎΠΌ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΎ ΠΎ Π³ΡΡΠ΄ΡΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ°ΡΠΈΠ½Π°Ρ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΡΠΏΡΡΠΊΠ° Β«Varnish CacheΒ» Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ Π² Β«Vinyl CacheΒ» ΠΈΠ·-Π·Π° ΠΏΡΠ΅ΡΠ΅Π½Π·ΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠΎΡΠ³ΠΎΠ²ΠΎΠΉ ΠΌΠ°ΡΠΊΠΎΠΉ Varnish, Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Varnish Software, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°Π»Π° Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»Π° ΠΎΡΠΊΡΡΡΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Β«Varnish CacheΒ». 22 Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Varnish Cache Π±ΡΠ»Π° ΠΏΡΠΎΡΠΈΠ½Π°Π½ΡΠΈΡΠΎΠ²Π°Π½Π° Π½ΠΎΡΠ²Π΅ΠΆΡΠΊΠΎΠΉ Π³Π°Π·Π΅ΡΠΎΠΉ Verdens Gang, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Π½ΡΠ»Π° ΠΠΎΠ»-Π₯Π΅Π½ΠΈΠ½Π³ ΠΠ°ΠΌΠΏΠ° Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°, Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Linpro Π΄Π»Ρ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ. ΠΠΎΠ·Π΄Π½Π΅Π΅ ΠΈΠ· Linpro Π±ΡΠ»Π° ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Varnish Software. Π‘Π»ΠΎΠΆΠΈΠ»ΠΎΡΡ ΡΠ°ΠΊ, ΡΡΠΎ ΠΈΠΌΡ Varnish Cache Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, Π° Varnish Software Ρ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ Varnish Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π±ΡΠ»ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΎ ΠΏΠΎ ΡΡΡΠ½ΠΎΠΉ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΡΠ½Π½ΠΎΡΡΠΈ ΠΈ ΠΠΎΠ»-Π₯Π΅Π½ΠΈΠ½Π³ ΠΠ°ΠΌΠΏ Π½Π΅ Π½Π°ΡΡΠΎΡΠ» Π½Π° Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΏΠΈΡΡΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ. ΠΠΎ Π½Π΅Π΄Π°Π²Π½Π΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΈ ΠΎΡΠΊΡΡΡΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΌΠΈΡΠ½ΠΎ ΡΠΎΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΈ, Π½ΠΎ Π·Π°ΡΠ΅ΠΌ Π² Π΄Π΅Π»ΠΎ Π²ΠΌΠ΅ΡΠ°Π»ΠΈΡΡ ΡΡΠΈΡΡΡ ΠΏΠΎ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ, ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΊΠΎΡΠΎΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΡ Varnish Cache Π² Π»ΡΠ±ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π±Π΅Π· ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Ρ Varnish Software ΠΏΠΎΠΌΠ΅ΡΠ°Π»Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, Π±ΡΠ»Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΠ° ΠΏΠΎΠΏΡΡΠΊΠ° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡΡΡ, Π½ΠΎ ΡΡΠΈΡΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ Π·Π°ΡΠ²Π»ΡΡΡ, ΡΡΠΎ ΠΈΠΌΡ Varnish Cache ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Varnish Software ΠΈ ΠΎΠ½ΠΈ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠΊΡΡΡΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡ ΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ Π²Π΅ΡΠΎ. Varnish Cache Π½Π΅ Π³ΠΎΡΠΎΠ² ΡΠΎΠ³Π»Π°ΡΠΈΡΡΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΠΌΠ΅ΡΠ΅Π½ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠ»Π°Π½ΠΈΡΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠ°ΡΡΠ½ΡΡΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΡΡΠΈΡΠ΄ΠΈΠΊΡΠΈΠΈ ΠΠ°Π½ΠΈΠΈ. Π ΡΡΡΠ°Π²Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ, ΡΡΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²Π»Π°Π΄Π΅ΡΡ ΠΈ ΡΠ°ΡΠΏΠΎΡΡΠΆΠ°ΡΡΡΡ Π΄Π΅Π½ΡΠ³Π°ΠΌΠΈ. Π ΡΠΈΡΠ»Π΅ ΡΠ΅Π»Π΅ΠΉ Π·Π°ΡΠ²Π»Π΅Π½Ρ: ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. Π ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ Π»ΡΠ±ΠΎΠΉ ΠΆΠ΅Π»Π°ΡΡΠΈΠΉ ΠΏΠΎΡΠ»Π΅ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌΠΈ. ΠΠ»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠΎΠΌΠΈΡΠ΅Ρ, ΠΈΠ·Π±ΠΈΡΠ°Π΅ΠΌΡΠΉ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ΡΡΠ²Π° Varnish-Cache 8.0:
- Π ΡΠΎΠ½ΠΎΠ²ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ varnishd, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΡ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠΈΠΌ Π·Π°ΠΏΡΠΎΡΡ Π±ΡΠΊΠ΅Π½Π΄Π°ΠΌ ΠΈ ΠΊΡΡΠΈΡΡΡΡΠ΅ΠΌ ΠΎΡΠ²Π΅Ρ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Β«uncacheable_ttlΒ» Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΆΠΈΠ·Π½ΠΈ (TTL) ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΡ Π½Π΅ΠΊΡΡΠΈΡΡΠ΅ΠΌΡΠΌΠΈ.
- ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ban_any_variant ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΡΡΠ°Π²Π»Π΅Π½ΠΎ Π² 0, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΏΠΈΡΠΎΠΊ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΡΠΎΠ²ΠΏΠ°Π²ΡΠΈΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
- ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ stop ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ (VCL-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΠΊΠΎΠ΄Π° VCL ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ runtime-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Β«param.<param_name>Β».
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π»ΠΎΠ³ΠΈΠΊΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠΎΠ² Β«304 Not ModifiedΒ».
- Π£Π΄Π°Π»Π΅Π½Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ VMOD-ΡΡΠ½ΠΊΡΠΈΠΈ std.real2integer(), std.real2time(), std.time2integer() ΠΈ std.time2real(), Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΡΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Β«std.integer(real=std.round(β¦), fallback=β¦)Β» ΠΈΠ»ΠΈ Β«std.integer(time=β¦, fallback=β¦). Π€ΡΠ½ΠΊΡΠΈΡ format_rfc1123() ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π° Π² cookie.format_date().
- Π VUT ΠΈ varnishtest ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° Π·Π°ΠΏΠΈΡΡ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΎΠΊ ΡΡΠ΅ΠΊΠ° Π² Π»ΠΎΠ³ ΠΏΠΎΡΠ»Π΅ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ.
- Π ΡΡΠΈΠ»ΠΈΡΡ varnishadm Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Β«obj.last_hitΒ», ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΠ· ΠΊΡΡΠ°, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ Π΄Π°Π²Π½ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ.
- Π ΡΡΠΈΠ»ΠΈΡΡ varnishstat Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΡΡΡΡΡΠΈΠΊΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ VCP.ref_hit, VCP.ref_miss, transit_stored ΠΈ transit_buffered
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
