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

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

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

Π‘Π½ΠΈΠΌΠΊΠ° Π΅Π΄Π½ΠΎ. Π»ΠΈΡ€ΠΈΡ‡Π΅Π½

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

Π‘Π½ΠΈΠΌΠΊΠ° Π΄Π²Π΅. БтатистичСски

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

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

ВОП заявки

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

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

Π‘Ρ€Π΅Π΄Π½ΠΈ сСляни

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

Опашка

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

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

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

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

SELECT sum(time_top) AS sum_top, sum(time_medium) AS sum_medium, sum(time_tail) AS sum_tail
FROM
(
  SELECT CASE WHEN rn <= 20              THEN tt_percent ELSE 0 END AS time_top,
         CASE WHEN rn > 20 AND rn <= 800 THEN tt_percent ELSE 0 END AS time_medium,
         CASE WHEN 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 услуга Π·Π° строитСли

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠ°Ρ‚Π° ΠΏΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ Π΄Π΅Π»ΡŠΡ‚ Π½Π° ВОП заявкитС рязко Π΅ намалял, Π½ΠΎ β€žΡΡ€Π΅Π΄Π½ΠΈΡ‚Π΅ ΡΠ΅Π»ΡΠ½ΠΈβ€œ са сС ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΈ.
ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ ВОП заявкитС Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ…Π° Π³Ρ€ΡƒΠ±ΠΈ Π³Π°Ρ„ΠΎΠ²Π΅. Π‘ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ дСтскитС болСсти ΠΈΠ·Ρ‡Π΅Π·Π½Π°Ρ…Π°, Π΄Π΅Π»ΡŠΡ‚ Π½Π° ВОП заявкитС намаля ΠΈ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° сС ΠΏΠΎΠ»ΠΎΠΆΠ°Ρ‚ всС ΠΏΠΎΠ²Π΅Ρ‡Π΅ усилия Π·Π° ускоряванС Π½Π° Ρ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‚Π΅ заявки.

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

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 -- TOP
-- rn > 20 AND rn <= 800 -- MEDIUM
-- rn > 800  -- TAIL

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

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

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

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

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

    НапримСр, вмСсто заявка Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° всички Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ ΠΎΡ‚ голяма Ρ‚Π°Π±Π»ΠΈΡ†Π° с доставки (Π”ΠžΠ‘Π’ΠΠ’ΠšΠ)

    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%’ 
    

    ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°

    s ILIKE β€œJohn%”
    

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

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

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

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€