ЖҮКТЕМЕ АСТЫНДАҒЫ ӨНІМДІЛІК
Тар орынды табу.
Жылдамдықты тексеру
Өлшеу нәтижелері бойынша сұраныстарды, серверлік кодты және кэширлеуді оңтайландырамыз. Өзгерістерді қайталанатын жүктеме сценарийінде тексереміз: жауап беру уақыты, қателер және бұған дейінгі және кейінгі ресурстарды тұтыну.
ТАПСЫРМА
СЦЕНАРИЙ
ДЕРЕКТЕР
ТЕКСЕРУ
ІСКЕ ҚОСУ
ТАПСЫРУ
іске қосу және тапсыруға дейінгі кезеңдер
ӨЛШЕМДЕР
ТАРТЫНШАҚ ТҰСТАР
ӨЗГЕРІСТЕРДІ ТЕКСЕРУ
жобалар
басталған жылы
модельдердің
Premier Partner мәртебесі
маркетинг, аналитика
Жеделдету басталады өлшемнен
Баяу жауап дерекқорға сұраныспен, сыртқы API-мен, блоктаумен, жадпен немесе тапсырмалар кезегімен байланысты болуы мүмкін. Алдымен нақты сценарийлер бойынша деректерді жинақтаймыз және пайдаланушылар мен бизнеске әсер ететін операцияларды бөліп көрсетеміз.
Бастапқы күйді бекітеміз: деректер көлемі, конфигурация, жүктеме профилі және жауап беру уақытының бөлінуі. Тек орташа мәнге ғана емес, сонымен қатар баяу сұраныстарға, қателер үлесіне және ағын өскен кездегі жүйенің тұрақтылығына қараймыз.
Өзгерістерді басымдық бойынша енгіземіз: индекс, сұраныс, деректерге қатынау құрылымы, кэш немесе код. Диагностикадан кейін масштабтауды қарастырамыз. Нәтижені салыстырмалы жағдайда қайта тексеру арқылы растаймыз және шектеулерді сипаттаймыз.
- Бастапқы өлшемдер және келісілген сценарийлер
- Сұраулар жоспарлары және серверлік код профильдері
- Жаңарту және тазарту ережелері бар кэш
- Өзгерістерге дейінгі және кейінгі қайталанатын сынақ
- Нәтижелері мен шектеулері бар есеп
Сценарий
Жүктеме пайдаланушылардың әрекеттерін көрсетеді
Кідіріс
Жауап беру уақытының үлестірімін бағалаймыз
Қателер
Жеделдету ақауларды жасырмауы керек
Ресурстар
CPU, жадты, дискіні және қосылымдарды тексереміз
Кэш дұрыс күйінде қалуы керек
Өмір сүру мерзімін, жарамсыздығын және кэш қолжетімсіз болған кездегі мінез-құлықты анықтаймыз. Пайдаланушылардың деректерін қолжетімділік контексті бойынша бөлеміз; ескірген мән маңызды шешімді байқатпай өзгертпеуі керек.
Оңтайландыру тексерілетін нәтиже
Барлық жобаларға бірдей жылдамдатуға уәде бермейміз: нәтиже табылған шектеуге байланысты.
Әсер ету бойынша басымдық
Негізгі сценарийде кезек немесе кідіріс тудыратын операциялардан бастаймыз. Мәселе тек жеке сұраныс уақыты үшін емес, пайдаланушы үшін азайғанын тексереміз.
Салыстырмалы тестілер
Жүктеме профилін, деректерді және кэш күйін сақтаймыз. Жауап беру уақытын, қателерді және ресурстарды бірдей жағдайда салыстырамыз; жылы және суық кэшті бөлек көрсетеміз.
Қажеттілік бойынша архитектура
Репликация және ағындарды бөлу сәйкестік шектеулері мен операциялық шығындарды қосады. Оларды бағалаудан кейін таңдаймыз, Highload-тың міндетті белгісі ретінде қолданбаймыз.
Баяу сценарийден бастап расталған нәтижеге
Әр гипотеза өлшеу және қайталама тест арқылы тексеріледі.
Бастапқы өлшемдер
Журналдарды, метрикаларды және негізгі операцияларды жинақтаймыз. Рұқсаттар мен жұмыс жобасын диагностикалау шекараларын келісеміз.
Себепті локализациялау
Сұрау жоспарларын, код профильдерін және сыртқы сервистердің күту уақытын тексереміз. Әсері бар тар тұстарды таңдаймыз.
Өзгерістер жоспары
Басымдықтарды, күтілетін критерийді және тестілік сценарийді келісеміз. Миграция тәуекелдерін және қайтару мүмкіндігін бағалаймыз.
Оңтайландыру
Таңдалған көлемде сұраныстарды, индекстерді, деректерге немесе кэшке жүгінуді өзгертеміз. Нәтиженің дұрыстығын тексереміз.
Жүктемелік тексеру
Дайындалған стендте келісілген тестті іске қосамыз. Жүктемені біртіндеп арттырамыз және тоқтату шарттарын белгілейміз.
Есеп және шығарылым
Нәтижелерді бұрын және кейін салыстырамыз, шектеулерді көрсетеміз. Өзгерістерді жоспар бойынша шығарамыз және жұмыс метрикаларын тексереміз.
Сұраныстар, код және жүктеме сценарийлері
Құралдар жиынтығы қолданбаға және табылған тар орынға байланысты.
Деректер базасы
Орындау жоспарлары, баяу сұраулар және СУБД статистикасы. Индекстер мен схеманы өзгертуді жазуға әсерімен бірге бағалаймыз.
Профильдер және кэш
Қажет болған жағдайда сәйкес стек пен Redis профильдеушісі. Келісусіз жұмыс серверінде ауыр диагностиканы қоспаймыз.
Жүктемелік тестілер
k6 немесе басқа қолайлы құрал. Сценарийлерді, метрикаларды, қате шектерін және тоқтату шарттарын белгілейміз; сұраныстар саны сапаны өзідігінен сипаттамайды.
— ҚҰНЫ
Тарифтер
Highload-оңтайландыруға
Баяу SQL-сұраныстарынан бастап масштабтау архитектурасына дейін. Жұмыс құрамы мен тест профилін диагностикадан кейін бекітеміз.
| Жұмыс құрамы | SQL және индекстерді оңтайландыру Келісілген баяу сұраулар және дерекқор баптаулары 85 000 ₽ 7 күнге дейін | ТАНЫМАЛ Кэштеу және код Негізгі сценарийлерді профильдеу және кэштеу 150 000 ₽ 14 күнге дейін | Highload архитектурасы Тапсырма бойынша масштабтау және ағындарды бөлу 260 000 ₽-дан бастап 20 күннен бастап |
|---|---|---|---|
|
SQL-сұраныстар
|
30 келісілген сұранысқа дейін | 70 сұранысқа дейін және кэштеу | Тапсырма бойынша сұраныстар мен құрылым |
|
Redis
|
Кірмейді | Тапсырма бойынша базалық кэштеу | Архитектура бойынша бөлінген кэш |
|
Кодты профильдеу
|
Кірмейді | Негізгі операциялар | Тапсырма бойынша жіңішке жерлер және рефакторинг |
|
Дерекқор репликациясы
|
Кірмейді | Кірмейді | Тапсырма бойынша оқу / жазу |
|
Жүктемелік тест
|
Таңдалған сұрауларды тексеру | Стенд дайын болғанда 1 000 RPS-ке дейінгі сынақ жоспары | Стендті бағалағаннан кейін 10 000 RPS-ке дейінгі сынақ жоспары |
|
Орта баптаулары
|
Диагностика нәтижелері бойынша ДББЖ | Тапсырма бойынша ДББЖ және жад | Тапсырма бойынша қосымша, сервер және ДББЖ |
Келісілген көлемдегі жұмыс құны. Стенд ресурстары, лицензиялар мен серверлер бөлек төленеді. Кестедегі RPS жоспарланған тест жүктемесіне қатысты, жобаның кепілдендірілген өткізу қабілетіне емес. Мерзімі рұқсаттарға, деректерге және өзгерістердің күрделілігіне байланысты.
— СҰРАҚТАР ЖӘНЕ ЖАУАПТАР
Маңыздының барлығы
бастау алдында
Жұмыс құрамы, бастапқы материалдар, келісу тәртібі және іске қосу шарттары.
-
Оңтайландыру қажет екенін қалай түсінуге болады?
Жауап беру уақытының нашарлауы, қателердің, кезектердің немесе маңызды сценарийлердегі ресурстарды тұтынудың өсуі бойынша. Өлшеулерден және себептерінен бастаймыз; дерекқордың өлшемі өздігінен қайта өңдеу қажеттілігін анықтамайды. -
Серверді қуаттырақ етіп сатып алған жеткілікті ме?
Кейде ресурстар жүйені шынымен шектейді. Бірақ сұраныстар, бұғаттаулар және артық жұмыс мәселені үлкенірек серверде де сақтап қалуы мүмкін. Өлшеуден кейін нұсқаларды салыстырамыз және пайдалану құнын ескереміз. -
Шардинг қашан қажет?
Көлем мен жүктемеге қойылатын талаптарды қарапайым шешімдермен орынды түрде жабу мүмкін болмағанда. Деректерді бөлмес бұрын бөлу кілтін, бөліктер арасындағы операцияларды, көшіруді және сүйемелдеуді бағалаймыз. -
Тест жұмыс істеп тұрған сайт үшін қауіпсіз бе?
Негізгі тестілеуді келісілген деректері бар дайындалған стендте өткіземіз. Production тексерулері бөлек терезені, шектеулер мен тоқтату шарттарын талап етеді. Жұмыс төлемдері мен жаппай хабарламалар сынақ сценарийінде өшіріледі. -
Жылдамдату қалай расталады?
Келісілген сценарийді деректер мен параметрлер сәйкес келгенде қайталаймыз. Жауап беру уақытының таралуын, қателерді және өзгерістерге дейінгі және кейінгі ресурстарды көрсетеміз. 100 есе жылдамдату сияқты әмбебап уәделер бермейміз.