bugün məsləhət təsadüfi
sözaltı sözlük
postlar Yoxlama mesaj

8 yazar | 2 başlıq | 16 entry
yenilə | gündəm

12345»
son entrylər 16 yeni entry
zirzəmi 1 yeni entry
sözaltı wiki (3338)


we only write in english to this topic sevgi gps a woman under the influence | kino ağrı verən cümlələr yazarların hazırda düşündükləri öldü xəbərinə inanılmayan insanlar sözaltı günlük yazarların ruh halı atanın maşın sürməyi öyrətməsi kitabının yerini verməyən filmlər | kino bir mahnısını eşitdikdən sonra diskoqrafiyası endirilən qruplar xəstəlik rusiya binə yazarların həyatdan çıxardığı dərslər həyatdan bir anda soyudan şeylər leg day üçün mahnılar domino daşları | kino les miserables bir oğlanda dözülə bilməyən şeylər öldürən facebook statusları jurgen klopp instagram psixoloqu evliliklərin ayaqda qalması ərəb dilinin bodyshaming ehtiva etməsi qol saatı almaq istəyənlərə məsləhətlər işəyarayan android və ios proqramları sözaltı stream sözbaz








bottleneck



facebook twitter əjdaha lazımdı izlə dostlar   mən   googlla
toba fəlakəti nəzəriyyəsi - proqramlaşdırma terminləri - yazarların hazırda düşündükləri
başlıqdakı ən bəyənilən yazılar:

+5 əjdaha

1. Bottleneck sözünün lüğəvi mənası "butulka ağzı" deməkdir.

Bundan əlavə "Bottleneck Effect" anlayışı var. Bu effekti real həyatda şəhərdaxili tıxaclarda da müşahidə edirik — yolda nə qədər çox maşın olursa, hərəkət bir o qədər yavaşlayır.

Mən isə bu anlayışı proqram mühəndisliyi tərəfdən izah etmək istəyirəm.

Layihə hazırlayanda, kodlayanda hər şey normal işləyir. Amma nə vaxt ki, proqram təminatının istifadəçi sayı artır — bu istər sayt olsun, istər mobil app, istər desktop tətbiq, istərsə də server əsaslı oyun — o zaman sistemdə donmalar və gecikmələr başlayır.

Problem odur ki, kodlarda heç bir xəta olmur. Bu səbəbdən ilk baxışdan problemin haradan qaynaqlandığını tapmaq çətin olur.

Bəs bu niyə baş verir?

Serverlərin müəyyən resurs limiti var — RAM, CPU, disk I/O və s. istifadəçilərdən eyni anda çoxlu sayda sorğu serverə gəldikdə və bu sorğular serverin resurslarını aşmağa başlayanda sistem sadəcə gücü çatdığı qədər işləyir və geriyə qalan sorğular gözləməyə məcbur qalır.

Bu problemin həlli üçün ilk növbədə məlumat bazasına (database) gedən sorğuları təhlil etmək lazımdır. Yəni hansı sorğular gec cavab verir, onları tapmaq və daha optimal yollarla dəyişmək lazımdır.

Bu müəyyən yerə qədər kömək edir, optimallaşdırma vermiş olur. Amma sistem kifayət qədər böyüyürsə və gəlir gətirirsə, bu zaman artıq DevOps və ya SRE (Site Reliability Engineer) mühəndisləri ilə işləmək zəruri olur. Çünki bu tip məsələlərin professional həlli onlardadır.

Əgər sistem böyüyür, amma gəlir gətirmirsə və əlavə xərclər etmək mümkün deyilsə, bu zaman artıq sistemdə olan ağır funksionallıqları çıxarmaq, sistemə yük verən prosesləri azaltmaq lazımdır.

Məsələn, hazırda Sözlük platformasında donmalar başlayıbsa və ağır query-lərdən şübhələnirsinizsə, onların yerini tapmaq üçün aşağıdakı yolları araşdıra bilərsiniz:

MySQL Slow Query Logs — Məlumat bazasında hansı sorğuların gec icra olunduğunu göstərir.

nginx access.log və error.log faylları — Serverə gələn sorğuları və error-ları izləmək üçün.

Bu log faylları üzərində analiz apararaq problemi aşkarlayıb həll yollarını tapmaq mümkündür.



hamısını göstər

bottleneck