ឧស្សាហកម្មទាំងអស់ › ប្រតិបត្តិការ IT — ភាពអាចទុកចិត្តបាននៃគេហទំព័រ 🖥️ ប្រតិបត្តិការ IT — ភាពអាចទុកចិត្តបាននៃគេហទំព័រ គំរូផ្ទាល់ អ្នកត្រៀមលក្ខណៈសម្រាប់សេវាវេប៖ load balancer នៅមុខចម្រៀក instance, cache នៅមុខមូលដ្ឋានទិន្នន័យ និងគោលដៅភាពអាចរកបាន 99.9 %។ រាល់នាទី ម៉ូដែលគណនាការពន្យាពេលជួរ timeout cache hit និងបន្ទុកមូលដ្ឋានទិន្នន័យពីរូបមន្តសៀវភៅសិក្សា — និងអ្វីដែលការសម្រេចចិត្តរបស់អ្នកចំណាយ។
អ្វីដែលអ្នកនឹងរៀន ហេតុអ្វីភាពយឺតផ្ទុះជិតការប្រើប្រាស់ពេញ (Erlang C) និងហេតុអ្វីការធ្វើមាត្រដ្ឋានស្វ័យប្រវត្តិជាមួយការពន្យាពេលចាប់ផ្ដើមមកយឺតជានិច្ច។ របៀបដែល SLO ថវិកាកំហុស និងការជូនដំណឹងអត្រាដុតសម្រេចពេលណាត្រូវត្រឡប់។ របៀបដែល cache ត្រជាក់ក្លាយជាការដាច់មូលដ្ឋានទិន្នន័យ និងឧបករណ៍ណាទិញពេល៖ កាត់បន្ថយ ថយចុះដោយទន់ ឡើងកម្ដៅ។ កម្មវិធីក្លែងធ្វើផ្ទាល់ត្រូវការ JavaScript។ អ្វីៗទាំងអស់ខាងក្រោម — គំរូ រូបមន្តរបស់វា និងប្រភព — អាចអានបានដោយគ្មានវា។
កម្មវិធីក្លែងធ្វើ
សំណើ 1125 · អត្រាកំហុស 0.00% · ភាពយឺត p99 342 ms · instance កំពុងបម្រើ 10 (+0) · អត្រា cache hit 77% · ការប្រើប្រាស់មូលដ្ឋានទិន្នន័យ 19% · ថវិកាកំហុសដែលនៅសល់ (30 ថ្ងៃ) 50.0% ⇉ 1125 សំណើ/វិ ▶ ▶ ▶ ▶ ▶ ▶ ▶ ▶ ▶ ▶ · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ▶ 10 · ⚙ 0 · 52% · p99 342 ms ការប្រើប្រាស់ចម្រៀក 52% អត្រា cache hit 77% ការប្រើប្រាស់មូលដ្ឋានទិន្នន័យ 19% ⚠ 0.00% · 🔥 0.0× 50% $ 4.00/h · Σ $0.00 ▶ instance កំពុងបម្រើ⚙ instance កំពុងចាប់ផ្ដើម! instance លើ build អាក្រក់· កន្លែងទំនេរ• សំណើចូលការគ្រប់គ្រង ដំណើរការការងារឡើងកម្ដៅ cache ផ្ទុកគ្រាប់ចុចក្ដៅ 6 នាទី (+12 % នៃ cache ក្នុងមួយនាទី) ក្នុងតម្លៃសំណួរមូលដ្ឋានទិន្នន័យបន្ថែម 600/s។
ត្រឡប់ការចេញផ្សាយ ដាក់ពង្រាយឡើងវិញនូវ build ល្អចុងក្រោយនៅលើក្រុមម៉ាស៊ីនថ្មី (5 នាទី គិតថ្លៃពីរដង) បន្ទាប់មកប្ដូរចរាចរណ៍។ ការចុចម្ដងទៀតចាប់ផ្ដើមការរៀបចំឡើងវិញ។ បើគ្មាន build អាក្រក់កំពុងដំណើរការ វាខាតតែលុយប៉ុណ្ណោះ។
សូចនាករ ថវិកាកំហុសដែលនៅសល់ (30 ថ្ងៃ)
50.0 %
ធម្មតា
ការប្រើប្រាស់ចម្រៀក
52 %
ធម្មតា
អត្រាដុត (1 ម៉ោង) 0.0 × សំណើ 1125 req/s instance កំពុងបម្រើ 10 instance កំពុងចាប់ផ្ដើម 0 អត្រា cache hit 77 % ការប្រើប្រាស់មូលដ្ឋានទិន្នន័យ 19 % ចរាចរណ៍ដែលបានកាត់បន្ថយ 0 % ថ្លៃចម្រៀក 4.00 $/h ថ្លៃរហូតមកដល់ពេលនេះ 0.00 $ អាយុមធ្យមនៃចម្លើយក្នុង cache 30 s ចរាចរណ៍លើ build អាក្រក់ 0 % ការណែនាំអាចរកបាន 100 %
និន្នាការ រង្វាស់តារាង អត្រាកំហុស ភាពយឺត p99 ថវិកាកំហុសដែលនៅសល់ (30 ថ្ងៃ) ការប្រើប្រាស់ចម្រៀក អត្រាដុត (1 ម៉ោង) សំណើ instance កំពុងបម្រើ instance កំពុងចាប់ផ្ដើម អត្រា cache hit ការប្រើប្រាស់មូលដ្ឋានទិន្នន័យ ចរាចរណ៍ដែលបានកាត់បន្ថយ ថ្លៃចម្រៀក ថ្លៃរហូតមកដល់ពេលនេះ អាយុមធ្យមនៃចម្លើយក្នុង cache ចរាចរណ៍លើ build អាក្រក់ ការណែនាំអាចរកបាន អត្រាកំហុស: — % 20.00 0.00 សេណារីយ៉ូវិបត្តិ កម្រិត 1 · ការចេញផ្សាយអាក្រក់ build ថ្មីចេញនៅ 09:10។ ខែនេះលំបាករួចហើយ៖ នៅសល់តែ 20 % នៃថវិកាកំហុស។ ប៉ុន្មាននាទីក្រោយការ deploy ការជូនដំណឹងអត្រាដុតបន្លឺ។ ការពារថវិកា។
ថវិកាកំហុសនៅសល់នៅចុង ≥ 18.5 % អត្រាកំហុសជាមធ្យមក្រោយ deploy ≤ 0.65 % ថ្លៃចម្រៀក ≤ $9.50 កម្រិត 2 · ហ្វូងមនុស្សភ្លាមៗ តំណភ្ជាប់ទៅសេវាកំពុងរីករាលដាលលឿន ហើយការកើនឡើងនៃចរាចរណ៍ត្រូវបានរំពឹងទុកនៅពេលណាមួយព្រឹកនេះ — គ្មានអ្នកណាដឹងថាពេលណា ឬធំប៉ុនណាទេ។ ថ្ងៃនេះ instance ថ្មីត្រូវការ 8 នាទីដើម្បីចាប់ផ្តើម។ នៅពេលវាមកដល់ រក្សាកំហុស និងភាពយឺតឱ្យទាប ដោយមិនដុតលុយលើសមត្ថភាពទំនេរ។
អត្រាកំហុសជាមធ្យម ≤ 0.2 % ភាពយឺត p99 ជាមធ្យម ≤ 400 ms ចរាចរណ៍កាត់បន្ថយជាមធ្យម ≤ 5 % ថ្លៃសរុប ≤ $21 ការណែនាំអាចរកបាន ≥ 85 % នៃពេល កម្រិត 3 · cache ត្រជាក់ នៅកំពូលថ្ងៃត្រង់ ស្គ្រីបថែទាំលុប cache ទាំងមូល។ ឥឡូវសំណើទាំងអស់ទៅមូលដ្ឋានទិន្នន័យ ដែលត្រូវបានកំណត់ទំហំសម្រាប់អត្រា hit 85 % ធម្មតា។ ស្ដារសេវាមកវិញដោយមិនផ្ទុកលើសមូលដ្ឋានទិន្នន័យ។
អត្រាកំហុសជាមធ្យម ≤ 1.5 % ការប្រើប្រាស់មូលដ្ឋានទិន្នន័យមិនដែលលើ 90 % ក្រោយនាទីដំបូង អាយុមធ្យមនៃចម្លើយក្នុង cache ≤ 90 s ជាមធ្យម ថ្លៃសរុប ≤ $9 ការណែនាំអាចរកបាន ≥ 80 % នៃពេល ចរាចរណ៍កាត់បន្ថយជាមធ្យម ≤ 5 % មូលដ្ឋាន — គំរូនៅពីក្រោយលេខ គ្រប់ទំនាក់ទំនងដែលកម្មវិធីក្លែងធ្វើប្រើ ជាមួយប្រភពរបស់វា។ ថេរដែលសម្គាល់ជាការសន្មត់គឺជាការក្រិតតាមខ្នាតបង្ហាញ។
ថេរប្រតិបត្តិការផ្សេងទៀតដែលម៉ូដែលប្រើ។ 16 workers/instance · app time 50 ms (+20 ms and +1 query with the feature on) · 2 queries/request · DB 4,000 queries/s · 20,000 hot objects · cache refill τ = 30 min (slower while the DB is saturated) · warm-up job +12 %/min for 6 min, +600 queries/s · timeout 2 s · 30 % low-priority traffic · bad build +5 % errors, ×1.25 CPU · rollback 5 min · $0.40 per instance-hour · scale-in by ≤ 20 % of the fleet after 10 quiet minutes · up to 40 instancesការសន្មត៖ ចំនួន worker ពេលសេវា សមត្ថភាពមូលដ្ឋានទិន្នន័យ ទំហំ cache ល្បឿនបំពេញ តម្លៃ និងអត្រាកំហុសនៃ build អាក្រក់ គឺជាតម្លៃបង្ហាញសម្រាប់សេវាវេបទំហំមធ្យម។ ភាពចៃដន្យ៖ ម៉ាស៊ីនបង្កើត mulberry32 ដែលមានគ្រាប់ពូជ ការចែកចាយដែលប្រើ — ឯកសណ្ឋាន អិចស្ប៉ូណង់ស្យែល (CDF បញ្ច្រាស) ធម្មតា (Box–Muller) Poisson (Knuth)។ គ្រាប់ពូជត្រូវបានបង្ហាញ និងអាចចែករំលែកបាន។
ប្រភព Site Reliability Engineering — Ch. 3 Embracing Risk (error budgets), Ch. 4 Service Level Objectives — Beyer, Jones, Petoff, Murphy (eds.), O'Reilly, 2016The Site Reliability Workbook — Ch. 5 Alerting on SLOs (burn rate; 14.4× over 1 h = 2 % of a 30-day budget) — Beyer, Murphy, Rensin, Kawahara, Thorne (eds.), O'Reilly, 2018Teletraffic Engineering Handbook — Erlang C formula; waiting-time distribution for M/M/n, FCFS — ITU-D Study Group 2 Question 16/2 (V. B. Iversen), 2005J. D. C. Little — A Proof for the Queuing Formula: L = λW — Operations Research 9(3):383–387, 1961J. Jung, A. W. Berger, H. Balakrishnan — Modeling TTL-based Internet Caches — IEEE INFOCOM 2003, 2003M. Harchol-Balter — Performance Modeling and Design of Computer Systems: Queueing Theory in Action (M/M/k, server farms, capacity provisioning) — Cambridge University Press, 2013 អ្នកណាធ្វើការងារនេះជាអាជីព គំរូអប់រំ — មិនសម្រាប់ការសម្រេចចិត្តប្រតិបត្តិការទេ។ ទីតាំងពិតកែតម្រូវរាល់ថេរទៅតាមឧបករណ៍ និងទិន្នន័យផ្ទាល់ខ្លួន។