ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Π½Π° заявки Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π½Π° B2B услуга Π·Π° строитСли

Как Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠΌ ΠΎΠ±Π΅ΠΌΠ° Π½Π° заявкитС към Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ 10 ΠΏΡŠΡ‚ΠΈ, Π±Π΅Π· Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ Π½Π° ΠΏΠΎ-ΠΌΠΎΡ‰Π΅Π½ ΡΡŠΡ€Π²ΡŠΡ€ ΠΈ Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΠΌ работоспособността Π½Π° систСмата? Π©Π΅ сподСля ΠΊΠ°ΠΊ сС Π±ΠΎΡ€ΠΈΡ…ΠΌΠ΅ с намаляванСто Π½Π° производитСлността Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΊΠ°ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Ρ…ΠΌΠ΅ SQL заявкитС, Π·Π° Π΄Π° обслуТвамС ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ сС ΠΌΠΎΠΆΠ΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ, Π±Π΅Π· Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°ΠΌΠ΅ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° изчислитСлни рСсурси.

Бъздавам услуга Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° бизнСс процСси Π² строитСлнитС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. Π‘ нас работят ΠΎΠΊΠΎΠ»ΠΎ 3000 ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. Над 10 000 Π΄ΡƒΡˆΠΈ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ работят с Π½Π°ΡˆΠ°Ρ‚Π° систСма ΠΏΠΎ 4-10 часа. Вя Ρ€Π΅ΡˆΠ°Π²Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅, увСдомяванС, ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, валидиранС… ИзползвамС PostgreSQL 9.6. Π’ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΈΠΌΠ°ΠΌΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 300 Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ ΠΈ всСки Π΄Π΅Π½ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ Π΄ΠΎ 200 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° заявки (10 000 Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ). Π’ срСдно ΠΈΠΌΠ°ΠΌΠ΅ 3000-4000 заявки Π² сСкунда, Π° ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΏΠΈΠΊ, ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 10 000 заявки Π² сСкунда. По-голямата част ΠΎΡ‚ заявкитС са OLAP. Добавянията, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ ΠΈ изтриванията са ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ, тоСст OLTP Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π΅ относитСлно ΠΌΠ°Π»ΠΊΠΎ. ΠŸΠΎΡΠΎΡ‡ΠΈΡ… всички Ρ‚Π΅Π·ΠΈ Ρ†ΠΈΡ„Ρ€ΠΈ, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΡ†Π΅Π½ΠΈΡ‚Π΅ ΠΌΠ°Ρ‰Π°Π±Π° Π½Π° нашия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠΎΠ»ΠΊΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π½Π°ΡˆΠΈΡΡ‚ ΠΎΠΏΠΈΡ‚ Π·Π° вас.

ΠŸΡŠΡ€Π²Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π°. Π›ΠΈΡ‡Π΅Π½

ΠšΠΎΠ³Π°Ρ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ…ΠΌΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π°, Π½Π΅ сС замисляхмС ΠΌΠ½ΠΎΠ³ΠΎ Π·Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ сС ΠΎΡ‚Ρ€Π°Π·ΠΈ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ ΠΏΡ€Π°Π²ΠΈΠΌ, Π°ΠΊΠΎ ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ спрС Π΄Π° ΠΈΠ·Π΄ΡŠΡ€ΠΆΠ°. ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ слСдвахмС ΠΎΠ±Ρ‰ΠΈΡ‚Π΅ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΠΊΠΈ ΠΈ сС ΠΎΠΏΠΈΡ‚Π²Π°Ρ…ΠΌΠ΅ Π΄Π° Π½Π΅ си ΠΏΡ€Π°Π²ΠΈΠΌ излишни ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, Π½ΠΎ Π½Π΅ сС Π·Π°Π΄ΡŠΠ»Π±ΠΎΡ‡ΠΈΡ…ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π² ΡΡŠΠ²Π΅Ρ‚ΠΈ ΠΊΠ°Ρ‚ΠΎ β€œΠ½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΏΠ°Ρ‚Π΅Ρ€Π½ΠΈ Entity Attribute Values Π½Π΅ Π²Π»ΠΈΠ·Π°Ρ…ΠΌΠ΅. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Ρ…ΠΌΠ΅ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΡ‚Π΅ Π½Π° нормализация, избягвайки излишъка ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ ΠΈ Π½Π΅ сС притСснявахмС Π·Π° ускоряванСто Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ заявки. ΠšΠ°ΠΊΡ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΏΡŠΡ€Π²ΠΈΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ сС появиха, сС ΡΠ±Π»ΡŠΡΠΊΠ°Ρ…ΠΌΠ΅ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π² производитСлността. ΠšΠ°ΠΊΡ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ, бяхмС напълно Π½Π΅ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ Π·Π° Ρ‚ΠΎΠ²Π°. ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ бяха относитСлно прости. ОбикновСно сС Ρ€Π΅ΡˆΠ°Π²Π°Ρ…Π° с добавянСто Π½Π° Π½ΠΎΠ² индСкс. Но Π΄ΠΎΠΉΠ΄Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π°Ρ‚ΠΎ проститС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ спряха Π΄Π° работят. Осъзнавайки, Ρ‡Π΅ ΠΎΠΏΠΈΡ‚ΡŠΡ‚ Π½ΠΈ Π΅ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π΅Π½ ΠΈ става всС ΠΏΠΎ-Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π² ΠΊΠ°ΠΊΠ²ΠΎ сС ΡΡŠΡΡ‚ΠΎΡΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅, Π½Π°Π΅Ρ…ΠΌΠ΅ спСциалисти, ΠΊΠΎΠΈΡ‚ΠΎ Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ…Π° Π΄Π° настроим ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ ΡΡŠΡ€Π²ΡŠΡ€Π°, Π΄Π° ΡΠ²ΡŠΡ€ΠΆΠ΅ΠΌ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ Π΄Π° Π½ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ°Ρ‚ къдС Π΄Π° Π³Π»Π΅Π΄Π°ΠΌΠ΅, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ статистика.

Π’Ρ‚ΠΎΡ€Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π°. БтатистичСска

Π’Π°ΠΊΠ° ΠΈΠΌΠ°ΠΌΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 10 хиляди Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ запитвания, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π·Π° Π΄Π΅Π½. ΠžΡ‚ Ρ‚Π΅Π·ΠΈ 10 хиляди ΠΈΠΌΠ° 'монстри', ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ ΠΏΠΎ 2-3 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΏΡŠΡ‚ΠΈ със срСдно Π²Ρ€Π΅ΠΌΠ΅ Π·Π° изпълнСниС ΠΎΡ‚ 0.1-0.3 мс, ΠΈ запитвания със срСдно Π²Ρ€Π΅ΠΌΠ΅ Π·Π° изпълнСниС ΠΎΡ‚ 30 сСкунди, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ‚ 100 ΠΏΡŠΡ‚ΠΈ Π½Π° Π΄Π΅Π½.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° всичкитС 10 хиляди запитвания Π½Π΅ бСшС възмоТно, Π·Π°Ρ‚ΠΎΠ²Π° Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ къдС Π΄Π° насочим усилията си, Π·Π° Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠΌ производитСлността Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π΅Π½ Π½Π°Ρ‡ΠΈΠ½. Π‘Π»Π΅Π΄ няколко ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π΄Π° раздСлямС запитванията Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅.

ВОП запитвания

Π’ΠΎΠ²Π° са Π½Π°ΠΉ-Ρ‚Π΅ΠΆΠΊΠΈΡ‚Π΅ запитвания, ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΡ‚Π½Π΅ΠΌΠ°Ρ‚ Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅ (ΠΎΠ±Ρ‰ΠΎ Π²Ρ€Π΅ΠΌΠ΅). Π’ΠΎΠ²Π° са запитвания, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ»ΠΈ сС ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ чСсто, ΠΈΠ»ΠΈ запитвания, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ дълго (Π΄ΡŠΠ»Π³ΠΈΡ‚Π΅ ΠΈ чСсти запитвания бяха ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΎΡ‰Π΅ Π² Ρ€Π°Π½Π½ΠΈΡ‚Π΅ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Π±ΠΎΡ€Π±Π° Π·Π° скорост). Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ отдСля Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° тяхното изпълнСниС. Π’Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° сС отдСлят Ρ‚ΠΎΠΏ запитванията ΠΏΠΎ ΠΎΠ±Ρ‰ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° изпълнСниС ΠΈ ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ ΠΏΠΎ IO Π²Ρ€Π΅ΠΌΠ΅. НачинитС Π·Π° оптимизация Π½Π° Ρ‚Π°ΠΊΠΈΠ²Π° запитвания са ΠΌΠ°Π»ΠΊΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ.

ΠžΠ±ΠΈΡ‡Π°ΠΉΠ½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π·Π° всички ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ - Ρ€Π°Π±ΠΎΡ‚Π° с ВОП запитвания. Π’Π΅ са ΠΌΠ°Π»ΠΊΠΎ, оптимизацията Π΄ΠΎΡ€ΠΈ Π½Π° Π΅Π΄Π½ΠΎ Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° освободи 5-10% рСсурси. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, с β€žΡƒΠ·Ρ€ΡΠ²Π°Π½Π΅Ρ‚ΠΎβ€œ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, оптимизацията Π½Π° ВОП запитванията става всС ΠΏΠΎ-Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»Π½Π° Π·Π°Π΄Π°Ρ‡Π°. Всички прости ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π²Π΅Ρ‡Π΅ са Π±ΠΈΠ»ΠΈ изпълнСни, Π° Π½Π°ΠΉ-Ρ‚Π΅ΠΆΠΊΠΎΡ‚ΠΎ Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅ ΠΎΡ‚Π½Π΅ΠΌΠ° β€žΡΠ°ΠΌΠΎβ€œ 3-5% рСсурси. Ако ВОП запитванията Π·Π°Π΅Π΄Π½ΠΎ Π·Π°Π΅ΠΌΠ°Ρ‚ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ 30-40% ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, Ρ‚ΠΎ вСроятно Π²Π΅Ρ‡Π΅ стС ΠΏΠΎΠ»ΠΎΠΆΠΈΠ»ΠΈ усилия Π΄Π° работят Π±ΡŠΡ€Π·ΠΎ ΠΈ Π΅ Π²Ρ€Π΅ΠΌΠ΅ Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅Ρ‚Π΅ към оптимизация Π½Π° запитванията ΠΎΡ‚ слСдващата Π³Ρ€ΡƒΠΏΠ°.
ΠžΡΡ‚Π°Π²Π° Π΄Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π½Π° Π²ΡŠΠΏΡ€ΠΎΡΠ° ΠΊΠΎΠ»ΠΊΠΎ Π³ΠΎΡ€Π½ΠΈ запитвания Π΄Π° Π²ΠΊΠ»ΡŽΡ‡ΠΈΠΌ Π² Ρ‚Π°Π·ΠΈ Π³Ρ€ΡƒΠΏΠ°. ОбикновСно Π²Π·Π΅ΠΌΠ°ΠΌ Π½Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ 10, Π½ΠΎ Π½Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 20. ΠžΠΏΠΈΡ‚Π²Π°ΠΌ сС Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡŠΡ€Π²ΠΎΡ‚ΠΎ ΠΈ послСдното Π² ВОП Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° Π΄Π° сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π° Π½Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 10 ΠΏΡŠΡ‚ΠΈ. ВоСст, Π°ΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° запитванията рязко ΠΏΠ°Π΄Π° ΠΎΡ‚ 1-Π²ΠΎ Π½Π° 10-Ρ‚ΠΎ място, Π²Π·Π΅ΠΌΠ°ΠΌ ВОП-10; Π°ΠΊΠΎ ΠΏΠ°Π΄Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΏΠΎ-ΠΏΠ»Π°Π²Π½ΠΎ, ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° Π΄ΠΎ 15 ΠΈΠ»ΠΈ 20.
ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Π½Π° заявки Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π½Π° B2B услуга Π·Π° строитСли

БрСдняки (medium)

Π’ΠΎΠ²Π° са всички запитвания, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ΄Π²Π°Ρ‚ Π²Π΅Π΄Π½Π°Π³Π° слСд ВОП, с ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° послСднитС 5-10%. ОбикновСно Π² оптимизацията Π½Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π΅Π·ΠΈ запитвания сС ΠΊΡ€ΠΈΠ΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° сС ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈ производитСлността Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°. Π’Π΅Π·ΠΈ запитвания ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° β€žΡ‚Π΅ΠΆΠ°Ρ‚β€œ Π΄ΠΎ 80%. Но Π΄ΠΎΡ€ΠΈ ΠΈ Π°ΠΊΠΎ тяхната част надвиши 50%, Π·Π½Π°Ρ‡ΠΈ Π΅ Π²Ρ€Π΅ΠΌΠ΅ Π΄Π° ΠΈΠΌ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ ΠΏΠΎ-Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ.

Опашка (tail)

ΠšΠ°ΠΊΡ‚ΠΎ бСшС спомСнато, Ρ‚Π΅Π·ΠΈ заявки ΠΎΡ‚ΠΈΠ²Π°Ρ‚ Π² края ΠΈ ΠΎΡ‚Π½Π΅ΠΌΠ°Ρ‚ 5-10% ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π·Π°Π±Ρ€Π°Π²ΠΈΡ‚Π΅ Π·Π° тях, освСн Π°ΠΊΠΎ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ срСдства Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° заявки, Ρ‚ΠΎΠ³Π°Π²Π° тяхната оптимизация ΡΡŠΡ‰ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Π΅Π²Ρ‚ΠΈΠ½Π°.

Как Π΄Π° ΠΎΡ†Π΅Π½ΠΈΠΌ всяка Π³Ρ€ΡƒΠΏΠ°?

Използвам SQL заявка, която ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ Ρ‚Π°ΠΊΠ°Π²Π° ΠΎΡ†Π΅Π½ΠΊΠ° Π·Π° PostgreSQL (сигурСн съм, Ρ‡Π΅ Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ Π‘Π£Π‘Π” ΠΌΠΎΠΆΠ΅ Π΄Π° сС напишС ΠΏΠΎΠ΄ΠΎΠ±Π½Π° заявка).

SQL заявка Π·Π° ΠΎΡ†Π΅Π½ΠΊΠ° Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π½Π° Π³Ρ€ΡƒΠΏΠΈΡ‚Π΅ TOP-MEDIUM-TAIL

SELECT sum(time_top) AS sum_top, sum(time_medium) AS sum_medium, sum(time_tail) FROM ( SELECT CASE WHEN rn  20 AND rn  800 THEN tt_percent ELSE 0 END AS time_tail FROM ( SELECT total_time / (SELECT sum(total_time) FROM pg_stat_statements) * 100 AS tt_percent, query, ROW_NUMBER () OVER (ORDER BY total_time DESC) AS rn FROM pg_stat_statements ORDER BY total_time DESC ) AS t ) AS ts

Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ ΠΎΡ‚ заявката - Ρ‚Ρ€ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ, всяка ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΡ‚ΠΈΠ²Π° Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° заявки ΠΎΡ‚ Ρ‚Π°Π·ΠΈ Π³Ρ€ΡƒΠΏΠ°. Π’ΡŠΡ‚Ρ€Π΅ Π² заявката ΠΈΠΌΠ° Π΄Π²Π΅ числа (Π² моя случай 20 ΠΈ 800), ΠΊΠΎΠΈΡ‚ΠΎ отдСлят заявкитС Π½Π° Π΅Π΄Π½Π° Π³Ρ€ΡƒΠΏΠ° ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°.

Π’Π°ΠΊΠ° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΡŠΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° заявкитС Π² Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° оптимизацията ΠΈ сСга.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Π½Π° заявки Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π½Π° B2B услуга Π·Π° строитСли

ΠžΡ‚ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠ°Ρ‚Π° Π΅ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Π΅ Π΄Π΅Π»ΡŠΡ‚ Π½Π° TOP заявкитС рязко Π΅ намалял, Π·Π°Ρ‚ΠΎΠ²Π° пък нараства Π΄Π΅Π»ΡŠΡ‚ Π½Π° 'срСдняцитС'.
ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Π² TOP заявкитС ΠΏΠΎΠΏΠ°Π΄Π°Ρ…Π° ΠΎΡ‚ΠΊΡ€ΠΎΠ²Π΅Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ. Π‘ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ дСтскитС болСсти ΠΈΠ·Ρ‡Π΅Π·Π½Π°Ρ…Π°, Π΄Π΅Π»ΡŠΡ‚ Π½Π° TOP заявкитС намалявашС, Π½Π°Π»ΠΎΠΆΠΈ сС Π΄Π° ΠΏΠΎΠ»Π°Π³Π°ΠΌ всС ΠΏΠΎΠ²Π΅Ρ‡Π΅ усилия, Π·Π° Π΄Π° ускора Ρ‚Π΅ΠΆΠΊΠΈΡ‚Π΅ заявки.

Π—Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ тСкста Π½Π° заявкитС, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ‚Π°ΠΊΠ°Π²Π° заявка.

SELECT * FROM ( SELECT ROW_NUMBER () OVER (ORDER BY total_time DESC) AS rn, total_time / (SELECT sum(total_time) FROM pg_stat_statements) * 100 AS tt_percent, query FROM pg_stat_statements ORDER BY total_time DESC ) AS T WHERE rn  20 AND rn  800  -- TAIL

Π•Ρ‚ΠΎ списък Π½Π° Π½Π°ΠΉ-чСсто ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ‚Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ…Π° Π΄Π° ускорим TOP заявкитС:

  • Π Π΅Π΄ΠΈΠ·Π°ΠΉΠ½ Π½Π° систСмата, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π½Π° извСстията към message broker вмСсто ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΈ заявки към Π‘Π”.
  • ДобавянС ΠΈΠ»ΠΈ промяна Π½Π° индСкси.
  • ΠŸΡ€Π΅ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° ORM заявки с чист SQL.
  • ΠŸΡ€Π΅ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π·Π° Π»Π΅Π½ΠΈΠ²ΠΎ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ.
  • ΠšΠ΅ΡˆΠΈΡ€Π°Π½Π΅ Ρ‡Ρ€Π΅Π· дСнормализация Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅. НапримСр ΠΈΠΌΠ°ΠΌΠ΅ Π²Ρ€ΡŠΠ·ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ Доставка -> Π‘Ρ‡Π΅Ρ‚ -> Π—Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅ -> Заявка. ВоСст всяка доставка Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½Π° със заявка ΠΏΡ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ. Π—Π° Π΄Π° Π½Π΅ ΡΠ²ΡŠΡ€Π·Π²Π°ΠΌΠ΅ всички Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ Π² всяка заявка, Π΄ΡƒΠ±Π»ΠΈΡ€Π°Ρ…ΠΌΠ΅ Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° към заявката Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° Доставка.
  • ΠšΠ΅ΡˆΠΈΡ€Π°Π½Π΅ Π½Π° статични Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ със справочници ΠΈ рядко промСнящи сС Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°.

Понякога ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π²ΠΎΠ΄Π΅Ρ…Π° Π΄ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ€Π΅Π΄ΠΈΠ·Π°ΠΉΠ½ΠΈ, Π½ΠΎ Π΄Π°Π²Π°Ρ…Π° 5-10% ΠΎΠ±Π»Π΅ΠΊΡ‡Π΅Π½ΠΈΠ΅ Π½Π° систСмата ΠΈ бяха ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ΠΈ. Π‘ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ СфСктивността намалявашС, Π° Ρ€Π΅Π΄ΠΈΠ·Π°ΠΉΠ½ΡŠΡ‚ ΡΡ‚Π°Π²Π°ΡˆΠ΅ всС ΠΏΠΎ-сСриозСн.

Π’ΠΎΠ³Π°Π²Π° ΠΎΠ±ΡŠΡ€Π½Π°Ρ…ΠΌΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° Π³Ρ€ΡƒΠΏΠ° заявки - Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° Π½Π° срСдняцитС. Π’ нСя имашС Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ заявки ΠΈ изглСТдашС, Ρ‡Π΅ Π·Π° Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° цялата Π³Ρ€ΡƒΠΏΠ° Ρ‰Π΅ ΠΎΡ‚Π½Π΅ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ заявки сС ΠΎΠΊΠ°Π·Π°Ρ…Π° ΠΌΠ½ΠΎΠ³ΠΎ лСсни Π·Π° оптимизация, Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ сС повтаряха дСсСтки ΠΏΡŠΡ‚ΠΈ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ. Π•Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π½Π° някои ΠΎΡ‚ стандартнитС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ…ΠΌΠ΅ към дСсСтки ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ заявки ΠΈ всяка Π³Ρ€ΡƒΠΏΠ° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΈ заявки ΠΎΠ±Π»Π΅ΠΊΡ‡Π°Π²Π°ΡˆΠ΅ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ с 3-5%.

  • ВмСсто Π΄Π° провСрявамС Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° записи с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° COUNT ΠΈ пълно сканиранС Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°, Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ EXISTS.
  • Π‘Π΅ ΠΎΡ‚ΡŠΡ€Π²Π°Ρ…ΠΌΠ΅ ΠΎΡ‚ DISTINCT (няма ΠΎΠ±Ρ‰ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π½ΠΎ понякога ΠΌΠΎΠΆΠ΅ лСсно Π΄Π° сС ΠΎΡ‚ΠΊΠ°ΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ Π½Π΅Π³ΠΎ, ускорявайки заявката ΠΌΠ΅ΠΆΠ΄Ρƒ 10-100 ΠΏΡŠΡ‚ΠΈ).

    НапримСр, вмСсто заявка Π·Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° всички ΡˆΠΎΡ„ΡŒΠΎΡ€ΠΈ ΠΎΡ‚ голямата Ρ‚Π°Π±Π»ΠΈΡ†Π° Π½Π° доставкитС (DELIVERY)

    SELECT DISTINCT P.ID, P.FIRST_NAME, P.LAST_NAME
    FROM DELIVERY D JOIN PERSON P ON D.DRIVER_ID = P.ID
    

    Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…ΠΌΠ΅ заявка ΠΏΠΎ сравнитСлно ΠΌΠ°Π»ΠΊΠ°Ρ‚Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° PERSON

    SELECT P.ID, P.FIRST_NAME, P.LAST_NAME
    FROM PERSON
    WHERE EXISTS(SELECT D.ID FROM DELIVERY WHERE D.DRIVER_ID = P.ID)
    

    ИзглСТда, Ρ‡Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ ΠΊΠΎΡ€Π΅Π»Π°Ρ‚ΠΈΠ²Π½Π° подзаявка, Π½ΠΎ тя Π΄Π°Π²Π° ускорСниС Π½Π°Π΄ 10 ΠΏΡŠΡ‚ΠΈ.

  • Π’ ΠΌΠ½ΠΎΠ³ΠΎ случаи напълно сС ΠΎΡ‚ΠΊΠ°Π·Π°Ρ…ΠΌΠ΅ ΠΎΡ‚ COUNT ΠΈ
    Π·Π°ΠΌΠ΅Π½ΠΈΡ…ΠΌΠ΅ с изчислСниС Π½Π° ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½Π° стойност.
  • вмСсто
    UPPER(s) LIKE JOHN%’ 
    

    VPS KVM

    s ILIKE β€œJohn%”
    

ВсСки ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ Π·Π°ΠΏΠΈΡ‚ успявало Π΄Π° сС ускори ΠΌΠ΅ΠΆΠ΄Ρƒ 3-1000 ΠΏΡŠΡ‚ΠΈ. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ впСчатляващитС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, Π² Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½ΠΈ сС ΡΡ‚Ρ€ΡƒΠ²Π°ΡˆΠ΅, Ρ‡Π΅ няма смисъл Π² оптимизацията Π½Π° Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ сС изпълнява Π·Π° 10 ms, ΠΏΠΎΠΏΠ°Π΄Π° Π² Ρ‚Ρ€Π΅Ρ‚Π°Ρ‚Π° стотинка Π½Π° Π½Π°ΠΉ-Ρ‚Π΅ΠΆΠΊΠΈΡ‚Π΅ запитвания ΠΈ Π² ΠΎΠ±Ρ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π½Π° Π‘Π” Π·Π°Π΅ΠΌΠ° стотни части ΠΎΡ‚ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°. Но ΠΏΡ€ΠΈΠ»Π°Π³Π°ΠΉΠΊΠΈ Π΅Π΄Π½ΠΎ ΠΈ ΡΡŠΡ‰ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ към Π³Ρ€ΡƒΠΏΠ° Π΅Π΄Π½ΠΎΡ‚ΠΈΠΏΠ½ΠΈ запитвания, Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°ΠΌΠ΅ няколко ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°. Π—Π° Π΄Π° Π½Π΅ Π³ΡƒΠ±ΠΈΠΌ Π²Ρ€Π΅ΠΌΠ΅ Π² Ρ€ΡŠΡ‡Π½ΠΎ ΠΏΡ€Π΅Π³Π»Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° всички стотици запитвания, написахмС няколко прости скрипта, ΠΊΠΎΠΈΡ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° рСгулярни ΠΈΠ·Ρ€Π°Π·ΠΈ ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Ρ…Π° Π΅Π΄Π½ΠΎΡ‚ΠΈΠΏΠ½ΠΈ запитвания. Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΡ‚ΠΎ Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° Π³Ρ€ΡƒΠΏΠΈ запитвания Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΠΌ производитСлността си ΠΎΡ‰Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ скромни усилия.

Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½ΠΈΠ΅ Π²Π΅Ρ‡Π΅ Ρ‚Ρ€ΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ Π½Π° Π΅Π΄Π½ΠΎ ΠΈ ΡΡŠΡ‰ΠΎ ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅. Π‘Ρ€Π΅Π΄Π½ΠΎΠ΄Π½Π΅Π²Π½Π°Ρ‚Π° натоварСност Π΅ ΠΎΠΊΠΎΠ»ΠΎ 30%, Π° ΠΏΡ€ΠΈ ΠΏΠΈΠΊΠΎΠ²Π΅ достига Π΄ΠΎ 70%. Броят Π½Π° заявкитС ΠΈ броят Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ нараснаха ΠΎΠΊΠΎΠ»ΠΎ дСсСт ΠΏΡŠΡ‚ΠΈ. И всичко Ρ‚ΠΎΠ²Π° Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° постоянния ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π° Ρ‚Π΅Π·ΠΈ Π³Ρ€ΡƒΠΏΠΈ заявки TOP-MEDIUM. Π’Π΅Π΄Π½Π°Π³Π° Ρ‰ΠΎΠΌ сС появи Π½ΠΎΠ²Π° заявка Π² Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° TOP, я Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ ΠΈ сС ΠΎΠΏΠΈΡ‚Π²Π°ΠΌΠ΅ Π΄Π° я ускорим. Π“Ρ€ΡƒΠΏΠ°Ρ‚Π° MEDIUM ΠΏΡ€Π΅Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ вСднъТ сСдмично с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° скриптовС Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° заявки. Ако ΠΏΠΎΠΏΠ°Π΄Π½Π°Ρ‚ Π½ΠΎΠ²ΠΈ заявки, ΠΊΠΎΠΈΡ‚ΠΎ Π²Π΅Ρ‡Π΅ Π·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅, Π±ΡŠΡ€Π·ΠΎ Π³ΠΈ промСнямС. Понякога Π½Π°ΠΌΠΈΡ€Π°ΠΌΠ΅ Π½ΠΎΠ²ΠΈ Π½Π°Ρ‡ΠΈΠ½ΠΈ Π·Π° оптимизация, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌ Π²Π΅Π΄Π½Π°Π³Π° Π½Π° няколко заявки.

Π‘ΠΏΠΎΡ€Π΅Π΄ Π½Π°ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈ тСкущият ΡΡŠΡ€Π²ΡŠΡ€ Ρ‰Π΅ ΠΈΠ·Π΄ΡŠΡ€ΠΆΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° броя Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ ΠΎΡ‰Π΅ 3-5 ΠΏΡŠΡ‚ΠΈ. Вярно Π΅, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΎΡ‰Π΅ Π΅Π΄ΠΈΠ½ ΠΊΠΎΠ· Π² Ρ€ΡŠΠΊΠ°Π²Π° - досСга Π½Π΅ смС прСмСстили SELECT-заявкитС Π½Π° ΠΎΠ³Π»Π΅Π΄Π°Π»ΠΎΡ‚ΠΎ, ΠΊΠ°ΠΊΡ‚ΠΎ Π΅ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ. Но Π½Π΅ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ ΡƒΠΌΠΈΡˆΠ»Π΅Π½ΠΎ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ искамС ΠΏΡŠΡ€Π²ΠΎ Π΄Π° ΠΈΠ·Ρ‡Π΅Ρ€ΠΏΠΈΠΌ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° "ΡƒΠΌΠ½Π°Ρ‚Π°" оптимизация, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° Π²ΠΊΠ»ΡŽΡ‡ΠΈΠΌ "Ρ‚Π΅ΠΆΠΊΠ°Ρ‚Π° артилСрия".
ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΈΡΡ‚ ΠΏΠΎΠ³Π»Π΅Π΄ Π²ΡŠΡ€Ρ…Ρƒ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° подскаТС, Ρ‡Π΅ трябва Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅. Π”Π° ΠΊΡƒΠΏΠΈΠΌ ΠΏΠΎ-ΠΌΠΎΡ‰Π΅Π½ ΡΡŠΡ€Π²ΡŠΡ€ вмСсто Π΄Π° Π³ΡƒΠ±ΠΈΠΌ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° спСциалиститС. Π‘ΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° скъп, особСно слСд ΠΊΠ°Ρ‚ΠΎ Π»ΠΈΠΌΠΈΡ‚ΠΈΡ‚Π΅ Π·Π° Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Ρƒ нас всС ΠΎΡ‰Π΅ Π½Π΅ са ΠΈΠ·Ρ‡Π΅Ρ€ΠΏΠ°Π½ΠΈ. ΠžΠ±Π°Ρ‡Π΅ броят Π½Π° заявкитС Π΅ нараснал само дСсСт ΠΏΡŠΡ‚ΠΈ. ΠŸΡ€Π΅Π· послСднитС няколко Π³ΠΎΠ΄ΠΈΠ½ΠΈ функционалността Π½Π° систСмата сС ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈ ΠΈ сСга разновидноститС Π½Π° заявкитС станаха ΠΏΠΎΠ²Π΅Ρ‡Π΅. Ѐункционалността, която бСшС, Ρ‡Ρ€Π΅Π· ΠΊΠ΅ΡˆΠΈΡ€Π°Π½Π΅ сС изпълнява с ΠΏΠΎ-малък Π±Ρ€ΠΎΠΉ заявки ΠΈ освСн Ρ‚ΠΎΠ²Π° с ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΈ заявки. Π—Π½Π°Ρ‡ΠΈ, ΠΌΠΎΠΆΠ΅ спокойно Π΄Π° ΡƒΠΌΠ½ΠΎΠΆΠΈΠΌ ΠΎΡ‰Π΅ 5, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ рСалния ΠΊΠΎΠ΅Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ Π½Π° ускорСниС. И Ρ‚Π°ΠΊΠ°, ΠΏΠΎ Π½Π°ΠΉ-скромнитС изчислСния, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ ускорСниСто Π΅ Π±ΠΈΠ»ΠΎ 50 ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΏΡŠΡ‚ΠΈ. Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π½ΠΎΡ‚ΠΎ Π½Π°Π΄Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° 50 ΠΏΡŠΡ‚ΠΈ Π±ΠΈ струвало ΠΏΠΎΠ²Π΅Ρ‡Π΅. ОсобСно ΠΊΠ°Ρ‚ΠΎ сС ΠΈΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄, Ρ‡Π΅ вСднъТ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½Π°Ρ‚Π° оптимизация Ρ€Π°Π±ΠΎΡ‚ΠΈ постоянно, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ смСтката Π·Π° наСтия ΡΡŠΡ€Π²ΡŠΡ€ ΠΈΠ΄Π²Π° всСки мСсСц.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster