ΠŸΠ΅Ρ€Ρ„ΠΎΡ€ΠΌΠ°Π½ΡΠΈ Π½Π° ΠΌΡ€Π΅ΠΆΠ½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π·Π° Linux. Π’ΠΎΠ²Π΅Π΄

Π’Π΅Π±-Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ сСга сС користат насСкадС, Π° ΠΌΠ΅Ρ“Ρƒ ситС транспортни ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ, HTTP Π³ΠΎ Π·Π°Π·Π΅ΠΌΠ° лавовскиот Π΄Π΅Π». Кога Π³ΠΈ ΠΏΡ€ΠΎΡƒΡ‡ΡƒΠ²Π°Π°Ρ‚ Π½ΠΈΡ˜Π°Π½ΡΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π·Π²ΠΎΡ˜ Π½Π° Π²Π΅Π±-Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ Π»ΡƒΡ“Π΅ посвСтуваат ΠΌΠ½ΠΎΠ³Ρƒ ΠΌΠ°Π»ΠΊΡƒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈΠΎΡ‚ систСм ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ Π²ΡΡƒΡˆΠ½ΠΎΡΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ ΠΎΠ²ΠΈΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ. ΠŸΠΎΠ΄Π΅Π»Π±Π°Ρ‚Π° Π½Π° Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚ (Dev) ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ (Ops) само ја влоши ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°. Но, со ΠΏΠΎΠ΄Π΅ΠΌΠΎΡ‚ Π½Π° ΠΊΡƒΠ»Ρ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° DevOps, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ стануваат ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π½ΠΈ Π·Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° Π½ΠΈΠ²Π½ΠΈΡ‚Π΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π²ΠΎ ΠΎΠ±Π»Π°ΠΊΠΎΡ‚, ΠΏΠ° Π·Π°Ρ‚ΠΎΠ° Π΅ ΠΌΠ½ΠΎΠ³Ρƒ корисно Π·Π° Π½ΠΈΠ² Ρ‚Π΅ΠΌΠ΅Π»Π½ΠΎ Π΄Π° сС Π·Π°ΠΏΠΎΠ·Π½Π°Π°Ρ‚ со Π·Π°Π΄Π½ΠΈΠΎΡ‚ Π΄Π΅Π» Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈΠΎΡ‚ систСм. Ова Π΅ особСно корисно Π°ΠΊΠΎ сС ΠΎΠ±ΠΈΠ΄ΡƒΠ²Π°Ρ‚Π΅ Π΄Π° распорСдитС систСм Π·Π° ΠΈΠ»Ρ˜Π°Π΄Π½ΠΈΡ†ΠΈ ΠΈΠ»ΠΈ дСсСтици илјади истоврСмСни врски.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ°Ρ‚Π° Π²ΠΎ Π²Π΅Π±-услугитС сС ΠΌΠ½ΠΎΠ³Ρƒ слични Π½Π° ΠΎΠ½ΠΈΠ΅ Π²ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Π‘Π΅Π· Ρ€Π°Π·Π»ΠΈΠΊΠ° Π΄Π°Π»ΠΈ сС Ρ€Π°Π±ΠΎΡ‚ΠΈ Π·Π° балансСри Π½Π° ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ ΠΈΠ»ΠΈ сСрвСри Π½Π° Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, ситС ΠΎΠ²ΠΈΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈΠΌΠ°Π°Ρ‚ слични ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π²ΠΎ ΠΎΠΏΠΊΡ€ΡƒΠΆΡƒΠ²Π°ΡšΠ΅ со високи пСрформанси. Π Π°Π·Π±ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠ²ΠΈΠ΅ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ° ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΈ Π½Π°Π΄ΠΌΠΈΠ½Π΅Ρ‚Π΅ Π²ΠΎΠΎΠΏΡˆΡ‚ΠΎ ќС Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° Π³ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ‚Π΅ пСрформанситС ΠΈ приспособливоста Π½Π° Π²Π°ΡˆΠΈΡ‚Π΅ Π²Π΅Π±-Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

Ја ΠΏΠΈΡˆΡƒΠ²Π°ΠΌ ΠΎΠ²Π°Π° ΡΠ΅Ρ€ΠΈΡ˜Π° написи ΠΊΠ°ΠΊΠΎ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ Π½Π° ΠΏΡ€Π°ΡˆΠ°ΡšΠ° ΠΎΠ΄ ΠΌΠ»Π°Π΄ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ ΠΊΠΎΠΈ сакаат Π΄Π° станат Π΄ΠΎΠ±Ρ€ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½ΠΈ систСмски Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΈ. НСвозмоТно Π΅ јасно Π΄Π° сС Ρ€Π°Π·Π±Π΅Ρ€Π°Ρ‚ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈΡ‚Π΅ Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° Линукс Π±Π΅Π· Π΄Π° сС Π½ΡƒΡ€Π½Π΅ Π²ΠΎ основитС Π·Π° Ρ‚ΠΎΠ° ΠΊΠ°ΠΊΠΎ Ρ‚ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ систСм. Иако ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρƒ Π²ΠΈΠ΄ΠΎΠ²ΠΈ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Π²ΠΎ ΠΎΠ²Π°Π° ΡΠ΅Ρ€ΠΈΡ˜Π° сакам Π΄Π° истраТувам Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Π²Π΅Π± намСсто дСсктоп Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС прСлистувач ΠΈΠ»ΠΈ ΡƒΡ€Π΅Π΄ΡƒΠ²Π°Ρ‡ Π½Π° тСкст. Овој ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π» Π΅ Π½Π°ΠΌΠ΅Π½Π΅Ρ‚ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΈ ΠΊΠΎΠΈ сакаат Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π°Ρ‚ ΠΊΠ°ΠΊΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Π°Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅ Π½Π° Linux ΠΈΠ»ΠΈ Unix ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΈ структурираат Π·Π° високи пСрформанси.

Линукс Π΅ сСрвСр соба ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ систСм, Π° Π½Π°Ρ˜Ρ‡Π΅ΡΡ‚ΠΎ Π²Π°ΡˆΠΈΡ‚Π΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π½Π° овој ОБ. Иако Π²Π΅Π»Π°ΠΌ β€žLinuxβ€œ, Π½Π°Ρ˜Ρ‡Π΅ΡΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ Π΄Π° прСтпоставитС Π΄Π΅ΠΊΠ° мислам Π½Π° ситС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈ систСми слични Π½Π° Unix Π²ΠΎΠΎΠΏΡˆΡ‚ΠΎ. Π‘Π΅ΠΏΠ°ΠΊ, Π½Π΅ Π³ΠΎ тСстирав ΠΏΡ€ΠΈΠ΄Ρ€ΡƒΠΆΠ½ΠΈΠΎΡ‚ ΠΊΠΎΠ΄ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ систСми. Π—Π½Π°Ρ‡ΠΈ, Π°ΠΊΠΎ стС заинтСрСсирани Π·Π° FreeBSD ΠΈΠ»ΠΈ OpenBSD, Π²Π°ΡˆΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Ρ€Π°Π·Π»ΠΈΠΊΡƒΠ²Π°Π°Ρ‚. Кога ΠΏΡ€ΠΎΠ±ΡƒΠ²Π°ΠΌ Π½Π΅ΡˆΡ‚ΠΎ спСцифично Π·Π° Linux, Π³ΠΎ истакнувам.

Иако ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ користитС ΠΎΠ²Π° знаСњС Π·Π° Π΄Π° создадСтС Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° ΠΎΠ΄ Π½ΡƒΠ»Π° ΠΈ Ρ‚Π°Π° ќС Π±ΠΈΠ΄Π΅ ΡΠΎΠ²Ρ€ΡˆΠ΅Π½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π°, Π½Π°Ρ˜Π΄ΠΎΠ±Ρ€ΠΎ Π΅ Π΄Π° Π½Π΅ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ°. Ако Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π½ΠΎΠ² Π²Π΅Π±-сСрвСр Π²ΠΎ C ΠΈΠ»ΠΈ C++ Π·Π° Π΄Π΅Π»ΠΎΠ²Π½Π°Ρ‚Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π½Π° Π²Π°ΡˆΠ°Ρ‚Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°, ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ послСдСн Π΄Π΅Π½ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°. Π‘Π΅ΠΏΠ°ΠΊ, ΠΏΠΎΠ·Π½Π°Π²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° структурата Π½Π° ΠΎΠ²ΠΈΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ќС ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π²ΠΎ ΠΈΠ·Π±ΠΎΡ€ΠΎΡ‚ Π½Π° постоСчкитС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ. ЌС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° спорСдуватС систСми засновани Π½Π° процСси со систСми засновани Π½Π° нишки, ΠΊΠ°ΠΊΠΎ ΠΈ систСми засновани Π½Π° настани. ЌС Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΈ Ρ†Π΅Π½ΠΈΡ‚Π΅ Π·ΠΎΡˆΡ‚ΠΎ Nginx Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ ΠΎΠ΄ Apache httpd, Π·ΠΎΡˆΡ‚ΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Python Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° Tornado ΠΌΠΎΠΆΠ΅ Π΄Π° опслуТува повСќС корисници Π²ΠΎ спорСдба со Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Python Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° Џанго.

ZeroHTTPd: Алатка Π·Π° ΡƒΡ‡Π΅ΡšΠ΅

ZeroHTTPd Π΅ Π²Π΅Π±-сСрвСр ΡˆΡ‚ΠΎ Π³ΠΎ напишав ΠΎΠ΄ ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ Π²ΠΎ C ΠΊΠ°ΠΊΠΎ Π°Π»Π°Ρ‚ΠΊΠ° Π·Π° ΡƒΡ‡Π΅ΡšΠ΅. НСма Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ½ΠΈ зависности, Π²ΠΊΠ»ΡƒΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈ пристап Π΄ΠΎ Redis. НиС Π³ΠΈ Π²ΠΎΠ΄ΠΈΠΌΠ΅ Π½Π°ΡˆΠΈΡ‚Π΅ сопствСни ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΈ Π·Π° РСдис. ΠŸΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ»Ρƒ Π·Π° повСќС Π΄Π΅Ρ‚Π°Π»ΠΈ.

Иако Π±ΠΈ ΠΌΠΎΠΆΠ΅Π»Π΅ Π΄ΠΎΠ»Π³ΠΎ Π΄Π° Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€Π°ΠΌΠ΅ Π·Π° Ρ‚Π΅ΠΎΡ€ΠΈΡ˜Π°Ρ‚Π°, Π½Π΅ΠΌΠ° Π½ΠΈΡˆΡ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ ΠΎΠ΄ ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ ΠΊΠΎΠ΄, Π½Π΅Π³ΠΎΠ²ΠΎ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ ΠΈ ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° ситС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ Π½Π° сСрвСрот Π΅Π΄Π½Π° со Π΄Ρ€ΡƒΠ³Π°. Ова Π΅ Π½Π°Ρ˜ΠΎΡ‡ΠΈΠ³Π»Π΅Π΄Π½ΠΈΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄. Π—Π°Ρ‚ΠΎΠ°, ќС напишСмС СдноставСн Π²Π΅Π±-сСрвСр ZeroHTTPd ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π³ΠΎ сСкој ΠΌΠΎΠ΄Π΅Π»: Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° процСс, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° нишки ΠΈ Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° настани. АјдС Π΄Π° Π³ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌΠ΅ сСкој ΠΎΠ΄ ΠΎΠ²ΠΈΠ΅ сСрвСри ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠ΅ ΠΊΠ°ΠΊΠΎ Ρ‚ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Π°Ρ‚ Π²ΠΎ спорСдба Π΅Π΄Π΅Π½ со Π΄Ρ€ΡƒΠ³. ZeroHTTPd сС ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° Π²ΠΎ Π΅Π΄Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° C. Π‘Π΅Ρ€Π²Π΅Ρ€ΠΎΡ‚ Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° настани Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° ΡƒΡ‚Π°Ρˆ, ΠΎΠ΄Π»ΠΈΡ‡Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° Ρ…Π°Ρˆ Ρ‚Π°Π±Π΅Π»Π° која Π΄ΠΎΠ°Ρ“Π° Π²ΠΎ Π΅Π΄Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° со Π·Π°Π³Π»Π°Π²ΠΈΠ΅. Π’ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ случаи, Π½Π΅ΠΌΠ° зависности, Π·Π° Π΄Π° Π½Π΅ сС ΠΊΠΎΠΌΠΏΠ»ΠΈΡ†ΠΈΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚.

Има ΠΌΠ½ΠΎΠ³Ρƒ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ‚ Π·Π° Π΄Π° Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ‚ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅. Π‘ΠΈΠ΄Π΅Ρ˜ΡœΠΈ Π΅ СдноставСн Π²Π΅Π±-сСрвСр Π²ΠΎ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Π»ΠΈΠ½ΠΈΠΈ ΠΊΠΎΠ΄, ZeroHTTPd Π΅ исто Ρ‚Π°ΠΊΠ° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° Ρ€Π°ΠΌΠΊΠ° Π·Π° Ρ€Π°Π·Π²ΠΎΡ˜ Π½Π° Π²Π΅Π±. Има ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° функционалност, Π½ΠΎ Π΅ способСн Π΄Π° опслуТува статични Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΌΠ½ΠΎΠ³Ρƒ Сдноставни β€žΠ΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΈβ€œ страници. ΠœΠΎΡ€Π°ΠΌ Π΄Π° ΠΊΠ°ΠΆΠ°ΠΌ Π΄Π΅ΠΊΠ° ZeroHTTPd Π΅ Π΄ΠΎΠ±Π°Ρ€ Π·Π° ΡƒΡ‡Π΅ΡšΠ΅ ΠΊΠ°ΠΊΠΎ Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ Линукс Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ со високи пСрформанси. Π’ΠΎ Π³ΠΎΠ»Π΅ΠΌΠ° ΠΌΠ΅Ρ€Π°, ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ Π²Π΅Π±-услуги Ρ‡Π΅ΠΊΠ°Π°Ρ‚ Π±Π°Ρ€Π°ΡšΠ°, Π³ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡƒΠ²Π°Π°Ρ‚ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π°Π°Ρ‚. Ова Π΅ Ρ‚ΠΎΠΊΠΌΡƒ ΠΎΠ½Π° ΡˆΡ‚ΠΎ ќС Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈ ZeroHTTPd. Ова Π΅ Π°Π»Π°Ρ‚ΠΊΠ° Π·Π° ΡƒΡ‡Π΅ΡšΠ΅, Π° Π½Π΅ Π·Π° производство. НС Π΅ ΠΎΠ΄Π»ΠΈΡ‡Π΅Π½ Π²ΠΎ ΡΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ со Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ Π²Π΅Ρ€ΠΎΡ˜Π°Ρ‚Π½ΠΎ Π½Π΅ΠΌΠ° Π΄Π° сС ΠΏΠΎΡ„Π°Π»ΠΈ со Π½Π°Ρ˜Π΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ бСзбСдносни ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ (ΠΎ, Π΄Π°, користСв strcpy) ΠΈΠ»ΠΈ ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈΡ‚Π΅ Ρ‚Ρ€ΠΈΠΊΠΎΠ²ΠΈ Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ C. Но, сС Π½Π°Π΄Π΅Π²Π°ΠΌ Π΄Π΅ΠΊΠ° Π΄ΠΎΠ±Ρ€ΠΎ си ја Π²Ρ€ΡˆΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π°.

ΠŸΠ΅Ρ€Ρ„ΠΎΡ€ΠΌΠ°Π½ΡΠΈ Π½Π° ΠΌΡ€Π΅ΠΆΠ½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π·Π° Linux. Π’ΠΎΠ²Π΅Π΄
ΠŸΠΎΡ‡Π΅Ρ‚Π½Π° страница ZeroHTTPd. МоТС Π΄Π° Π΅ΠΌΠΈΡ‚ΡƒΠ²Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ‚ΠΈΠΏΠΎΠ²ΠΈ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ, Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°Ρ˜ΡœΠΈ слики

ΠΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π·Π° ΠΊΠ½ΠΈΠ³Π° Π·Π° гости

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π²Π΅Π±-Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΠ±ΠΈΡ‡Π½ΠΎ Π½Π΅ сС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ Π½Π° статични Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ. Π’ΠΈΠ΅ ΠΈΠΌΠ°Π°Ρ‚ слоТСни ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΠΈ со Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, кСшови, ΠΈΡ‚Π½. Π’Π°ΠΊΠ°, ќС создадСмС Сдноставна Π²Π΅Π±-Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π½Π°Ρ€Π΅Ρ‡Π΅Π½Π° β€žΠšΠ½ΠΈΠ³Π° Π·Π° Π³ΠΎΡΡ‚ΠΈβ€œ ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ посСтитСлитС оставаат записи ΠΏΠΎΠ΄ Π½ΠΈΠ²Π½ΠΈΡ‚Π΅ имиња. ЗаписитС Π²ΠΎ ΠΏΡ€ΠΎΠ΄Π°Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ Π·Π° гостински ΠΊΠ½ΠΈΠ³ΠΈ Π±Π΅Π° оставСни ΠΏΠΎΡ€Π°Π½ΠΎ. На Π΄Π½ΠΎΡ‚ΠΎ Π½Π° страницата ΠΈΠΌΠ° ΠΈ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° посСтитСли.

ΠŸΠ΅Ρ€Ρ„ΠΎΡ€ΠΌΠ°Π½ΡΠΈ Π½Π° ΠΌΡ€Π΅ΠΆΠ½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π·Π° Linux. Π’ΠΎΠ²Π΅Π΄
Π’Π΅Π± Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° β€žΠšΠ½ΠΈΠ³Π° Π·Π° Π³ΠΎΡΡ‚ΠΈβ€œ ZeroHTTPd

Π‘Ρ€ΠΎΡ˜Π°Ρ‡ΠΎΡ‚ Π½Π° посСтитСли ΠΈ записитС Π²ΠΎ ΠΊΠ½ΠΈΠ³Π°Ρ‚Π° Π·Π° гости сС Π·Π°Ρ‡ΡƒΠ²Π°Π½ΠΈ Π²ΠΎ Redis. Π—Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° со РСдис сС спровСдуваат сопствСни ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΈ, Ρ‚ΠΈΠ΅ Π½Π΅ зависат ΠΎΠ΄ Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ½Π°Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°. НС сум Π³ΠΎΠ»Π΅ΠΌ ΠΎΠ±ΠΎΠΆΠ°Π²Π°Ρ‚Π΅Π» Π½Π° ΠΎΠ±Ρ˜Π°Π²ΡƒΠ²Π°ΡšΠ΅ ΠΊΠΎΠ΄ Π·Π° домашна ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ³Π° ΠΈΠΌΠ° јавно достапни ΠΈ Π΄ΠΎΠ±Ρ€ΠΎ тСстирани Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ˜Π°. Но, Ρ†Π΅Π»Ρ‚Π° Π½Π° ZeroHTTPd Π΅ Π΄Π° Π³ΠΈ ΠΏΡ€ΠΎΡƒΡ‡ΡƒΠ²Π° пСрформанситС Π½Π° Линукс ΠΈ пристапот Π΄ΠΎ Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ½ΠΈΡ‚Π΅ услуги, Π΄ΠΎΠ΄Π΅ΠΊΠ° ΠΎΠΏΡΠ»ΡƒΠΆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° Π·Π° HTTP ΠΈΠΌΠ° сСриозно влијаниС Π²Ρ€Π· пСрформанситС. ΠœΠΎΡ€Π° цСлосно Π΄Π° Π³ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°ΠΌΠ΅ ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ со Redis Π²ΠΎ сСкоја наша Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π½Π° сСрвСрот. Π’ΠΎ Π½Π΅ΠΊΠΎΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ користимС Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‡ΠΊΠΈ ΠΏΠΎΠ²ΠΈΡ†ΠΈ, Π²ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ користимС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΈ Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° настани. ΠšΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅Ρ‚ΠΎ Π½Π° Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ Π½Π° Redis Π½Π΅ΠΌΠ° Π΄Π° ја ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΠΎΠ²Π°Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π°. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ, Π½Π°ΡˆΠΈΠΎΡ‚ ΠΌΠ°Π» ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Redis ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π° само Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (добивањС, ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ ΠΈ Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΊΠ»ΡƒΡ‡ΠΎΡ‚; добивањС ΠΈ додавањС Π½Π° Π½ΠΈΠ·Π°). ΠŸΠΎΠΊΡ€Π°Ρ˜ Ρ‚ΠΎΠ°, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΡ‚ Redis Π΅ исклучитСлно Π΅Π»Π΅Π³Π°Π½Ρ‚Π΅Π½ ΠΈ СдноставСн. Π”ΡƒΡ€ΠΈ ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±Π° посСбно Π΄Π° Π³ΠΎ ΡƒΡ‡ΠΈΡ‚Π΅. Π‘Π°ΠΌΠΈΠΎΡ‚ Ρ„Π°ΠΊΡ‚ Π΄Π΅ΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΡ‚ ја Π²Ρ€ΡˆΠΈ Ρ†Π΅Π»Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° Π²ΠΎ ΠΎΠΊΠΎΠ»Ρƒ сто Π»ΠΈΠ½ΠΈΠΈ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ°ΠΆΡƒΠ²Π° ΠΊΠΎΠ»ΠΊΡƒ Π΅ Π΄ΠΎΠ±Ρ€ΠΎ осмислСн.

Π‘Π»Π΅Π΄Π½Π°Ρ‚Π° слика ΠΏΠΎΠΊΠ°ΠΆΡƒΠ²Π° ΡˆΡ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΊΠΎΠ³Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ (прСлистувачот) Π±Π°Ρ€Π° /guestbookURL.

ΠŸΠ΅Ρ€Ρ„ΠΎΡ€ΠΌΠ°Π½ΡΠΈ Π½Π° ΠΌΡ€Π΅ΠΆΠ½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π·Π° Linux. Π’ΠΎΠ²Π΅Π΄
Како Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° ΠΊΠ½ΠΈΠ³Π° Π·Π° гости

Кога Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС ΠΈΠ·Π΄Π°Π΄Π΅ страница ΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π°Ρ‚Π° Π·Π° гости, ΠΈΠΌΠ° Π΅Π΄Π΅Π½ ΠΏΠΎΠ²ΠΈΠΊ Π΄ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π½ΠΈΠΎΡ‚ систСм Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ Π½Π° ΡˆΠ°Π±Π»ΠΎΠ½ΠΎΡ‚ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° ΠΈ Ρ‚Ρ€ΠΈ ΠΌΡ€Π΅ΠΆΠ½ΠΈ ΠΏΠΎΠ²ΠΈΡ†ΠΈ Π΄ΠΎ Redis. Π”Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° со шаблон содрТи најголСм Π΄Π΅Π» ΠΎΠ΄ содрТината Π½Π° HTML Π·Π° страницата Π½Π° сликата ΠΎΠ΄ Π΅ΠΊΡ€Π°Π½ΠΎΡ‚ ΠΏΠΎΠ³ΠΎΡ€Π΅. Има ΠΈ посСбни мСста Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡ΠΊΠΈ Π΄Π΅Π» ΠΎΠ΄ содрТината: објави ΠΈ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π½Π° посСтитСли. Π“ΠΈ Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ ΠΎΠ΄ РСдис, Π³ΠΈ Π²ΠΌΠ΅Ρ‚Π½ΡƒΠ²Π°ΠΌΠ΅ Π½Π° страницата ΠΈ ΠΌΡƒ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°ΠΌΠ΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ цСлосно Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½Π° содрТина. Π’Ρ€Π΅Ρ‚ΠΈΠΎΡ‚ ΠΏΠΎΠ²ΠΈΠΊ Π΄ΠΎ Redis ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·Π±Π΅Π³Π½Π΅ бидСјќи Redis ја Π²Ρ€Π°ΡœΠ° Π½ΠΎΠ²Π°Ρ‚Π° ΠΊΠ»ΡƒΡ‡Π½Π° врСдност ΠΊΠΎΠ³Π° сС Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°. Π‘Π΅ΠΏΠ°ΠΊ, Π·Π° Π½Π°ΡˆΠΈΠΎΡ‚ сСрвСр, кој ΠΈΠΌΠ° асинхрона Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° настани, ΠΌΠ½ΠΎΠ³Ρƒ ΠΌΡ€Π΅ΠΆΠ½ΠΈ ΠΏΠΎΠ²ΠΈΡ†ΠΈ сС Π΄ΠΎΠ±Π°Ρ€ тСст Π·Π° Ρ†Π΅Π»ΠΈ Π½Π° ΡƒΡ‡Π΅ΡšΠ΅. Π’Π°ΠΊΠ°, ја ΠΎΡ‚Ρ„Ρ€Π»Π°ΠΌΠ΅ ΠΏΠΎΠ²Ρ€Π°Ρ‚Π½Π°Ρ‚Π° врСдност Π½Π° Redis Π½Π° Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° посСтитСли ΠΈ ја Π±Π°Ρ€Π°ΠΌΠ΅ со посСбСн ΠΏΠΎΠ²ΠΈΠΊ.

АрхитСктури Π½Π° сСрвСрот ZeroHTTPd

Π“Ρ€Π°Π΄ΠΈΠΌΠ΅ сСдум Π²Π΅Ρ€Π·ΠΈΠΈ Π½Π° ZeroHTTPd со иста функционалност, Π½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ:

  • Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½
  • Π€ΠΎΡ€ΠΊ сСрвСр (Π΅Π΄Π΅Π½ Π΄Π΅Ρ‚Π΅ процСс ΠΏΠΎ Π±Π°Ρ€Π°ΡšΠ΅)
  • ΠŸΡ€Π΅Π΄-Ρ„ΠΎΡ€ΠΊ сСрвСр (ΠΏΡ€Π΅Π΄-Ρ„ΠΎΡ€ΠΊΠΈΠ½Π³ Π½Π° процСси)
  • Π‘Π΅Ρ€Π²Π΅Ρ€ со нишки Π·Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ (Π΅Π΄Π½Π° нишка ΠΏΠΎ Π±Π°Ρ€Π°ΡšΠ΅)
  • Π‘Π΅Ρ€Π²Π΅Ρ€ со ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ ΠΏΡ€Π΅Π΄ нишка
  • Заснована Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° poll()
  • Заснована Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° epoll

НиС Π³ΠΈ ΠΌΠ΅Ρ€ΠΈΠΌΠ΅ пСрформанситС Π½Π° сСкоја Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° со Π²Ρ‡ΠΈΡ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° сСрвСрот со HTTP Π±Π°Ρ€Π°ΡšΠ°. Но, ΠΊΠΎΠ³Π° сС спорСдуваат високо ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ, Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° Π±Π°Ρ€Π°ΡšΠ° сС Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°. НиС тСстирамС Ρ‚Ρ€ΠΈ ΠΏΠ°Ρ‚ΠΈ ΠΈ Π³ΠΎ прСсмСтувамС просСкот.

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π° Π½Π° Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅

ΠŸΠ΅Ρ€Ρ„ΠΎΡ€ΠΌΠ°Π½ΡΠΈ Π½Π° ΠΌΡ€Π΅ΠΆΠ½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π·Π° Linux. Π’ΠΎΠ²Π΅Π΄
ΠŸΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ Π·Π° Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ ZeroHTTPd

Π’Π°ΠΆΠ½ΠΎ Π΅ ΠΏΡ€ΠΈ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° тСстовитС, ситС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π΄Π° Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π½Π° иста машина. Π’ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜, ОБ ΠΈΠΌΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ‚Ρ€ΠΎΡˆΠΎΡ†ΠΈ Π·Π° распорСд бидСјќи ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ сС Π½Π°Ρ‚ΠΏΡ€Π΅Π²Π°Ρ€ΡƒΠ²Π°Π°Ρ‚ Π·Π° процСсорот. ΠœΠ΅Ρ€Π΅ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈΠΎΡ‚ систСм Π½Π° сСкоја ΠΎΠ΄ ΠΈΠ·Π±Ρ€Π°Π½ΠΈΡ‚Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ Π½Π° сСрвСрот Π΅ Π΅Π΄Π½Π° ΠΎΠ΄ Π½Π°Ρ˜Π²Π°ΠΆΠ½ΠΈΡ‚Π΅ Ρ†Π΅Π»ΠΈ Π½Π° ΠΎΠ²Π°Π° Π²Π΅ΠΆΠ±Π°. Π”ΠΎΠ΄Π°Π²Π°ΡšΠ΅Ρ‚ΠΎ повСќС ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ќС станС ΡˆΡ‚Π΅Ρ‚Π½ΠΎ Π·Π° процСсот. Π—Π°Ρ‚ΠΎΠ°, поставката Π½Π° сликата ΠΏΠΎΠ³ΠΎΡ€Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° Π½Π°Ρ˜Π΄ΠΎΠ±Ρ€ΠΎ.

Π¨Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ сСкој ΠΎΠ΄ ΠΎΠ²ΠΈΠ΅ сСрвСри?

  • load.unixism.net: Ова Π΅ мСстото ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ Ρ‚Ρ€Ρ‡Π°ΠΌΠ΅ ab, Π°Π»Π°Ρ‚ΠΊΠ°Ρ‚Π° Apache Benchmark. Π“ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ Π·Π° Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅ Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈΡ‚Π΅ Π½Π° Π½Π°ΡˆΠΈΡ‚Π΅ сСрвСри.
  • nginx.unixism.net: ПонСкогаш сакамС Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΠΌΠ΅ повСќС ΠΎΠ΄ Π΅Π΄Π½Π° инстанца Π½Π° сСрвСрска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°. Π—Π° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΎΠ²Π°, сСрвСрот Nginx со соодвСтни поставки Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΠ°ΠΊΠΎ балансСр Π½Π° ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ ΠΎΠ΄ кој Π΄ΠΎΠ°Ρ“Π° ab Π½Π° процСситС Π½Π° Π½Π°ΡˆΠΈΠΎΡ‚ сСрвСр.
  • zerohttpd.unixism.net: ОвдС Π³ΠΈ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΠΌΠ΅ Π½Π°ΡˆΠΈΡ‚Π΅ сСрвСрски ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π½Π° сСдум Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ, Π΅Π΄Π½Π° ΠΏΠΎ Π΅Π΄Π½Π°.
  • redis.unixism.net: Овој сСрвСр Π³ΠΎ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π° Π΄Π΅ΠΌΠΎΠ½ΠΎΡ‚ Redis, ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ сС Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π°Π°Ρ‚ записитС Π²ΠΎ ΠΊΠ½ΠΈΠ³Π°Ρ‚Π° Π½Π° гости ΠΈ Π±Ρ€ΠΎΡ˜Π°Ρ‡ΠΈΡ‚Π΅ Π½Π° посСтитСли.

Π‘ΠΈΡ‚Π΅ сСрвСри Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π½Π° исто Ρ˜Π°Π΄Ρ€ΠΎ Π½Π° процСсорот. Π˜Π΄Π΅Ρ˜Π°Ρ‚Π° Π΅ Π΄Π° сС ΠΏΡ€ΠΎΡ†Π΅Π½Π°Ρ‚ максималнитС пСрформанси Π½Π° сСкоја Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°. Π‘ΠΈΠ΄Π΅Ρ˜ΡœΠΈ ситС сСрвСрски ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ сС тСстираат Π½Π° ист Ρ…Π°Ρ€Π΄Π²Π΅Ρ€, ΠΎΠ²Π° Π΅ основна линија Π·Π° спорСдба. ΠœΠΎΠ΅Ρ‚ΠΎ тСст ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ сС состои ΠΎΠ΄ Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½ΠΈ сСрвСри изнајмСни ΠΎΠ΄ Digital Ocean.

Π¨Ρ‚ΠΎ ΠΌΠ΅Ρ€ΠΈΠΌΠ΅?

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ. НиС Π³ΠΈ ΠΎΡ†Π΅Π½ΡƒΠ²Π°ΠΌΠ΅ пСрформанситС Π½Π° сСкоја Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π²ΠΎ Π΄Π°Π΄Π΅Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° со Π²Ρ‡ΠΈΡ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° сСрвСритС со Π±Π°Ρ€Π°ΡšΠ° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π½ΠΈΠ²ΠΎΠ° Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·Π°ΠΌ: ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ растС ΠΎΠ΄ 20 Π½Π° 15 истоврСмСни корисници.

Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ ΠΎΠ΄ тСстот

Π‘Π»Π΅Π΄Π½ΠΈΠΎΡ‚ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ Π³ΠΈ ΠΏΡ€ΠΈΠΊΠ°ΠΆΡƒΠ²Π° пСрформанситС Π½Π° сСрвСритС Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π½ΠΈΠ²ΠΎΠ° Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·Π°ΠΌ. y-оската Π΅ Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° Π±Π°Ρ€Π°ΡšΠ° Π²ΠΎ сСкунда, Π° x-оската Π΅ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈ врски.

ΠŸΠ΅Ρ€Ρ„ΠΎΡ€ΠΌΠ°Π½ΡΠΈ Π½Π° ΠΌΡ€Π΅ΠΆΠ½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π·Π° Linux. Π’ΠΎΠ²Π΅Π΄

ΠŸΠ΅Ρ€Ρ„ΠΎΡ€ΠΌΠ°Π½ΡΠΈ Π½Π° ΠΌΡ€Π΅ΠΆΠ½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π·Π° Linux. Π’ΠΎΠ²Π΅Π΄

ΠŸΠ΅Ρ€Ρ„ΠΎΡ€ΠΌΠ°Π½ΡΠΈ Π½Π° ΠΌΡ€Π΅ΠΆΠ½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π·Π° Linux. Π’ΠΎΠ²Π΅Π΄

ΠŸΠΎΠ΄ΠΎΠ»Ρƒ Π΅ Ρ‚Π°Π±Π΅Π»Π° со Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅.

Π±Π°Ρ€Π°ΡšΠ° Π²ΠΎ сСкунда

ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·Π°ΠΌ
ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½
Π²ΠΈΠ»ΡƒΡˆΠΊΠ°
ΠΏΡ€Π΅Π΄-Π²ΠΈΠ»ΡƒΡˆΠΊΠ°
стриминг
ΠΏΡ€Π΅Π΄-стриминг
Π²Π½Π°Ρ‚Ρ€Π΅
Π΅ΠΏΠΎΠ»

20
7
112
2100
1800
2250
1900
2050

50
7
190
2200
1700
2200
2000
2000

100
7
245
2200
1700
2200
2150
2100

200
7
330
2300
1750
2300
2200
2100

300
-
380
2200
1800
2400
2250
2150

400
-
410
2200
1750
2600
2000
2000

500
-
440
2300
1850
2700
1900
2212

600
-
460
2400
1800
2500
1700
2519

700
-
460
2400
1600
2490
1550
2607

800
-
460
2400
1600
2540
1400
2553

900
-
460
2300
1600
2472
1200
2567

1000
-
475
2300
1700
2485
1150
2439

1500
-
490
2400
1550
2620
900
2479

2000
-
350
2400
1400
2396
550
2200

2500
-
280
2100
1300
2453
490
2262

3000
-
280
1900
1250
2502
Π³ΠΎΠ»Π΅ΠΌΠΎ ΡˆΠΈΡ€Π΅ΡšΠ΅
2138

5000
-
Π³ΠΎΠ»Π΅ΠΌΠΎ ΡˆΠΈΡ€Π΅ΡšΠ΅
1600
1100
2519
-
2235

8000
-
-
1200
Π³ΠΎΠ»Π΅ΠΌΠΎ ΡˆΠΈΡ€Π΅ΡšΠ΅
2451
-
2100

10
-
-
Π³ΠΎΠ»Π΅ΠΌΠΎ ΡˆΠΈΡ€Π΅ΡšΠ΅
-
2200
-
2200

11
-
-
-
-
2200
-
2122

12
-
-
-
-
970
-
1958

13
-
-
-
-
730
-
1897

14
-
-
-
-
590
-
1466

15
-
-
-
-
532
-
1281

Од Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ΠΎΡ‚ ΠΈ Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π²ΠΈΠ΄ΠΈ Π΄Π΅ΠΊΠ° Π½Π°Π΄ 8000 симултани Π±Π°Ρ€Π°ΡšΠ° Π½ΠΈ остануваат само Π΄Π²Π°Ρ˜Ρ†Π° ΠΈΠ³Ρ€Π°Ρ‡ΠΈ: ΠΏΡ€Π΅Π΄-Ρ„ΠΎΡ€ΠΊ ΠΈ Π΅ΠΏΠΎΠ». Како ΡˆΡ‚ΠΎ сС Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π° ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ, сСрвСрот Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° Π°Π½ΠΊΠ΅Ρ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ полошо ΠΎΠ΄ стриминг. АрхитСктурата Π½Π° Π½ΠΈΡˆΠΊΠ°Ρ‚Π° ΠΏΡ€Π΅Π΄ ΡΠΎΠ·Π΄Π°Π²Π°ΡšΠ΅Ρ‚ΠΎ Π΅ достоСн ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ Π½Π° Π΅ΠΏΠΎΠ», Π΄ΠΎΠΊΠ°Π· Π·Π° Ρ‚ΠΎΠ° ΠΊΠΎΠ»ΠΊΡƒ Π΄ΠΎΠ±Ρ€ΠΎ ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Линукс Π·Π°ΠΊΠ°ΠΆΡƒΠ²Π° Π³ΠΎΠ»Π΅ΠΌ Π±Ρ€ΠΎΡ˜ нишки.

Π˜Π·Π²ΠΎΡ€Π½ΠΈΠΎΡ‚ ΠΊΠΎΠ΄ Π½Π° ZeroHTTPd

Π˜Π·Π²ΠΎΡ€Π½ΠΈΠΎΡ‚ ΠΊΠΎΠ΄ Π½Π° ZeroHTTPd Ρ‚ΡƒΠΊΠ°. Π—Π° сСкоја Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈΠΌΠ° посСбСн Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ.

ZeroHTTPd β”‚ β”œβ”€β”€ 01_iterative β”‚ β”œβ”€β”€ main.c β”œβ”€β”€ 02_forking β”‚ β”œβ”€β”€ main.c β”œβ”€β”€ 03_preforking β”œβ”€β”€. 04_ нишки β”‚ β”œβ”€β”€ main.c β”œβ”€β”€ 05_prethreading β”‚ β”œβ”€β”€ main.c β”œβ”€β”€ 06_poll β”‚ β”œβ”€β”€ main.c β”œβ”€β”€ 07_epoll β”‚ β””β”€β”œ β””β”€β”€β”œβ”€β”€β”€ main.c ─ β”œβ”€β”€ индСкс .html β”‚ └── смокинг . png └── шаблони └── ΠΊΠ½ΠΈΠ³Π° Π·Π° гости └── индСкс.html

ΠŸΠΎΠΊΡ€Π°Ρ˜ сСдумтС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΈ Π·Π° ситС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ, ΠΈΠΌΠ° ΡƒΡˆΡ‚Π΅ Π΄Π²Π° Π²ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ Π½Π° највисоко Π½ΠΈΠ²ΠΎ: јавни ΠΈ шаблони. ΠŸΡ€Π²Π°Ρ‚Π° ја содрТи Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° index.html ΠΈ сликата ΠΎΠ΄ ΠΏΡ€Π²Π°Ρ‚Π° слика ΠΎΠ΄ Π΅ΠΊΡ€Π°Π½ΠΎΡ‚. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ставитС Π΄Ρ€ΡƒΠ³ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ Ρ‚Π°ΠΌΡƒ, Π° ZeroHTTPd Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΈ опслуТува Ρ‚ΠΈΠ΅ статични Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Ако ΠΏΠ°Ρ‚Π΅ΠΊΠ°Ρ‚Π° Π²ΠΎ прСлистувачот сС совпаѓа со ΠΏΠ°Ρ‚Π΅ΠΊΠ°Ρ‚Π° Π²ΠΎ Ρ˜Π°Π²Π½Π°Ρ‚Π° ΠΏΠ°ΠΏΠΊΠ°, Ρ‚ΠΎΠ³Π°Ρˆ ZeroHTTPd ја Π±Π°Ρ€Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° index.html Π²ΠΎ овој Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ. Π‘ΠΎΠ΄Ρ€ΠΆΠΈΠ½Π°Ρ‚Π° Π·Π° ΠΊΠ½ΠΈΠ³Π°Ρ‚Π° Π·Π° гости сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ. Има само ΠΏΠΎΡ‡Π΅Ρ‚Π½Π° страница, Π° Π½Π΅Ρ˜Π·ΠΈΠ½Π°Ρ‚Π° содрТина сС заснова Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° β€žΡˆΠ°Π±Π»ΠΎΠ½ΠΈ/ΠΊΠ½ΠΈΠ³Π° Π·Π° гости/index.htmlβ€œ. ZeroHTTPd лСсно Π΄ΠΎΠ΄Π°Π²Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΈ страници Π·Π° ΠΏΡ€ΠΎΡˆΠΈΡ€ΡƒΠ²Π°ΡšΠ΅. Π˜Π΄Π΅Ρ˜Π°Ρ‚Π° Π΅ Π΄Π΅ΠΊΠ° корисницитС ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° Π΄ΠΎΠ΄Π°Π²Π°Π°Ρ‚ шаблони Π²ΠΎ овој Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ ΠΈ Π΄Π° Π³ΠΎ ΠΏΡ€ΠΎΡˆΠΈΡ€Π°Ρ‚ ZeroHTTPd ΠΏΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±Π°.

Π—Π° Π΄Π° Π³ΠΈ ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΡ‚Π΅ ситС сСдум сСрвСри, ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°Ρ˜Ρ‚Π΅ make all ΠΎΠ΄ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ Π½Π° највисоко Π½ΠΈΠ²ΠΎ - ΠΈ ситС Π³Ρ€Π°Π΄Π±ΠΈ ќС сС ΠΏΠΎΡ˜Π°Π²Π°Ρ‚ Π²ΠΎ овој Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ. Π˜Π·Π²Ρ€ΡˆΠ½ΠΈΡ‚Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π±Π°Ρ€Π°Π°Ρ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΈ Π·Π° јавни ΠΈ шаблони Π²ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ ΠΎΠ΄ кој сС стартуваат.

Linux API

НС Ρ‚Ρ€Π΅Π±Π° Π΄Π° стС Π΄ΠΎΠ±Ρ€ΠΎ ΡƒΠΏΠ°Ρ‚Π΅Π½ΠΈ Π²ΠΎ Linux API Π·Π° Π΄Π° Π³ΠΈ Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈΡ‚Π΅ Π²ΠΎ ΠΎΠ²Π°Π° ΡΠ΅Ρ€ΠΈΡ˜Π° Π½Π° написи. Π‘Π΅ΠΏΠ°ΠΊ, ΠΏΡ€Π΅ΠΏΠΎΡ€Π°Ρ‡ΡƒΠ²Π°ΠΌ Π΄Π° ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚Π΅ повСќС Π½Π° ΠΎΠ²Π°Π° Ρ‚Π΅ΠΌΠ°; ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρƒ Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ‚Π½ΠΈ рСсурси Π½Π° Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. Иако ќС Π΄ΠΎΠΏΡ€Π΅ΠΌΠ΅ Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Π½Π° Linux API, Π½Π°ΡˆΠΈΠΎΡ‚ фокус ќС Π±ΠΈΠ΄Π΅ првСнствСно Π½Π° процСситС, Π½ΠΈΡˆΠΊΠΈΡ‚Π΅, настанитС ΠΈ ΠΌΡ€Π΅ΠΆΠ½ΠΈΠΎΡ‚ стСк. ΠŸΠΎΠΊΡ€Π°Ρ˜ ΠΊΠ½ΠΈΠ³ΠΈΡ‚Π΅ ΠΈ написитС Π·Π° Linux API, ΠΏΡ€Π΅ΠΏΠΎΡ€Π°Ρ‡ΡƒΠ²Π°ΠΌ ΠΈ Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΌΠ°Π½Π° Π·Π° систСмски ΠΏΠΎΠ²ΠΈΡ†ΠΈ ΠΈ користСни Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°.

ΠŸΠ΅Ρ€Ρ„ΠΎΡ€ΠΌΠ°Π½ΡΠΈ ΠΈ приспособливост

Π•Π΄Π½Π° забСлСшка Π·Π° пСрформанситС ΠΈ приспособливоста. ВСорСтски, Π½Π΅ΠΌΠ° врска ΠΌΠ΅Ρ“Ρƒ Π½ΠΈΠ². МоТС Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ Π²Π΅Π±-услуга ΡˆΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΌΠ½ΠΎΠ³Ρƒ Π΄ΠΎΠ±Ρ€ΠΎ, со Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ ΠΎΠ΄ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ милисСкунди, Π½ΠΎ Π²ΠΎΠΎΠΏΡˆΡ‚ΠΎ Π½Π΅ сС Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°. Π‘Π»ΠΈΡ‡Π½ΠΎ Π½Π° Ρ‚ΠΎΠ°, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Π²Π΅Π±-Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° со слаба Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° која ΠΈ сС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ сСкунди Π·Π° Π΄Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΈ, Π½ΠΎ сС Π½Π°ΠΌΠ°Π»ΡƒΠ²Π° Π·Π° дСсСтици Π·Π° Π΄Π° сС справи со дСсСтици илјади истоврСмСни корисници. Π‘Π΅ΠΏΠ°ΠΊ, ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° високи пСрформанси ΠΈ приспособливост Π΅ ΠΌΠ½ΠΎΠ³Ρƒ моќна ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡ˜Π°. АпликациитС со високи пСрформанси Π³Π΅Π½Π΅Ρ€Π°Π»Π½ΠΎ Π³ΠΈ користат рСсурситС ΡƒΠΌΠ΅Ρ€Π΅Π½ΠΎ ΠΈ Π½Π° Ρ‚ΠΎΡ˜ Π½Π°Ρ‡ΠΈΠ½ Сфикасно опслуТуваат повСќС истоврСмСни корисници Π½Π° сСрвСрот, Π½Π°ΠΌΠ°Π»ΡƒΠ²Π°Ρ˜ΡœΠΈ Π³ΠΈ Ρ‚Ρ€ΠΎΡˆΠΎΡ†ΠΈΡ‚Π΅.

CPU ΠΈ I/O Π·Π°Π΄Π°Ρ‡ΠΈ

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²ΠΎ ΠΊΠΎΠΌΠΏΡ˜ΡƒΡ‚Π΅Ρ€ΠΈΡ‚Π΅ сСкогаш ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ Π΄Π²Π° ΠΌΠΎΠΆΠ½ΠΈ Ρ‚ΠΈΠΏΠ° Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ: Π·Π° Π²Π»Π΅Π·/ΠΈΠ·Π»Π΅Π· ΠΈ процСсор. ΠŸΡ€ΠΈΠΌΠ°ΡšΠ΅ Π±Π°Ρ€Π°ΡšΠ° ΠΏΡ€Π΅ΠΊΡƒ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ (ΠΌΡ€Π΅ΠΆΠ½Π° I/O), ΡΠ΅Ρ€Π²ΠΈΡΠΈΡ€Π°ΡšΠ΅ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ (ΠΌΡ€Π΅ΠΆΠ½Π° ΠΈ диск Π’/И), ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° со Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ (ΠΌΡ€Π΅ΠΆΠ° ΠΈ диск I/O) сС ситС I/O активности. НСкои Π±Π°Ρ€Π°ΡšΠ° Π·Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ ΠΌΠ°Π»ΠΊΡƒ ΠΈΠ½Ρ‚Π΅Π½Π·ΠΈΠ²Π½ΠΈ Π½Π° процСсорот (ΡΠΎΡ€Ρ‚ΠΈΡ€Π°ΡšΠ΅, просСчСн ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ ΠΈΡ‚Π½.). ΠŸΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ Π²Π΅Π±-Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ сС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ со максималниот ΠΌΠΎΠΆΠ΅Π½ Π²Π»Π΅Π·/ΠΈΠ·Π»Π΅Π·, Π° процСсорот Ρ€Π΅Ρ‚ΠΊΠΎ сС користи со ΠΏΠΎΠ»Π½ ΠΊΠ°ΠΏΠ°Ρ†ΠΈΡ‚Π΅Ρ‚. Кога ќС Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π΄Π΅ΠΊΠ° нСкоја I/O Π·Π°Π΄Π°Ρ‡Π° користи ΠΌΠ½ΠΎΠ³Ρƒ процСсор, Ρ‚ΠΎΠ° Π΅ Π½Π°Ρ˜Π²Π΅Ρ€ΠΎΡ˜Π°Ρ‚Π½ΠΎ Π·Π½Π°ΠΊ Π·Π° лоша Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°. Ова ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π½Π°Ρ‡ΠΈ Π΄Π΅ΠΊΠ° рСсурситС Π½Π° процСсорот сС Ρ‚Ρ€ΠΎΡˆΠ°Ρ‚ Π½Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со процСситС ΠΈ ΠΏΡ€Π΅Ρ„Ρ€Π»ΡƒΠ²Π°ΡšΠ΅ контСкст - ΠΈ Ρ‚ΠΎΠ° Π½Π΅ Π΅ сосСма корисно. Ако ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π½Π΅ΡˆΡ‚ΠΎ ΠΊΠ°ΠΊΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° слики, ΠΊΠΎΠ½Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° Π°ΡƒΠ΄ΠΈΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ»ΠΈ машинско ΡƒΡ‡Π΅ΡšΠ΅, Ρ‚ΠΎΠ³Π°Ρˆ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π±Π°Ρ€Π° моќни рСсурси Π½Π° процСсорот. Но, Π·Π° ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‚ΠΎΠ° Π½Π΅ Π΅ ΡΠ»ΡƒΡ‡Π°Ρ˜.

Π”ΠΎΠ·Π½Π°Ρ˜Ρ‚Π΅ повСќС Π·Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈΡ‚Π΅ Π½Π° сСрвСрот

  1. Π”Π΅Π» I: Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°
  2. Π”Π΅Π» II. Π€ΠΎΡ€ΠΊ сСрвСри
  3. Π”Π΅Π» III. ΠŸΡ€Π΅Π΄-Ρ„ΠΎΡ€ΠΊ сСрвСри
  4. Π”Π΅Π» IV. Π‘Π΅Ρ€Π²Π΅Ρ€ΠΈ со нишки Π·Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅
  5. Π”Π΅Π» V. Π‘Π΅Ρ€Π²Π΅Ρ€ΠΈ со ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ навој
  6. Π”Π΅Π» VI. АрхитСктура Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° Пол
  7. Π”Π΅Π» VII. Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° Π΅ΠΏΠΎΠ»

Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€