ΠΠΎΠ»-Π₯Π΅Π½ΠΈΠ½Π³ ΠΠ°ΠΌΠΏ (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.β.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠ΅Π½Π΅Π±ΡΠ΅Π³Π²Π°Π½Π΅ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ β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
