Tuning

You can tune a file system, but you can't tune a fish
—Юникс tunefs командын гарын авлагаас
You Can Tune A Piano, But You Can't Tuna Fish
—An album name

Хөглөнө гэдэг нь хөгжмийн зэмсгийн дуугаралтыг зөв болгож тохируулах үйл юм. Ямар хөгжим байхаасаа хамаараад нилээд нарийн нямбай, мэдлэг чадвар шаардсан ажил байдаг. Тухайлбал төгөлдөр хуур хөглөгч гэж тусгай мэргэжил байдаг. Зөвхөн утаснуудыг чангалж суллаад тааруулж тохируулахын ч нэр биш гажсан сажсан зүйлсийг засаж сэлбэх, тасарсан нарийссан утсыг солих, гацсан тээглэсэн даруулыг дэгэнд нь оруулах гээд хөгжмийг дарж тоглоход эвтэй, дуугарах эгшиг аялгуугий нь тунгалаг байлгах үүднээс хэрэгтэй бүх үйлчилгээг хийнэ.

Аливаа хөгжмийг нэг хөглөөд л тэр чигтээ хөгөө алдахгүй байгаад байна гэж байдаггүй билээ. Тухайлбал төгөлдөр хуурыг хэдэн жил болоод хөгийг нь шалгаж байхгүй бол болдоггүй гэж сонссон юм байна. Гитар бол бүр амархан хөг нь гарна. Зүгээр тоглож байхад л хөг нь бага зэрэг алдагдчихсан байдаг юм. Тэгээд байнга тоглоод байхаар утас нь муудна, солихгүй бол болохгүй, хэт чанга хөглөвөл дарахад хуруу өвдөнө, сул хөглөвөл паржигнаад олигтой дугарахгүй гэх мэтчилэн ярвиг мунадахгүй.

Яг үүнтэй төстэйгөөр мэдээллийн системийн инженерчлэлд tuning буюу хөглөх гэдэг үйл байдаг. Ялангуяа томоохон өгөгдлийн сангийн хувьд хөглөх ажил зайлшгүй хийгдэх шаардлагатай. Гэхдээ хөглөнө гээд л учиргүй оролдохын нэр биш, маш нарийн шалгаж, тооцоолж байж хаана нь болохгүй байгааг, аль утас нь сул эсвэл чанга байгааг олно. Тухайлбал өгөгдлийн сангийн хувьд SQL нь оновчгүй байна уу, индекс үүсгэх шаардлагатай байна уу, өгөгдлийн зохион байгуулалт буруу байна уу, эсвэл бүр хатуу диск хавьцаа зохицуулалт хэрэгтэй байна уу гэдгийг нарийн шинжилж олж тогтооно. Ингээд зохих үйлдлийг хийснийхээ дараа ахин хөг орж байна уу үгүй юу шалгана. Буруу сонсогдоод байвал бүр өөр газар ч учир нь байж мэдэх юм. Хөгжим хөглөхтэй ерөнхийдөө төстэй байгаа биз.

Oracle гээд мундаг өгөгдлийн сан байдгийг хүн бүр мэдэх байхаа. Тэгсэн саяхан “Oracle бол өөрөө өөрийгөө хөглөдөг өгөгдлийн сан” гэж рекламдсан байхыг уншаад жаахан гайхсанаа энд хэлэхгүй байж чадахгүй нь. Хэрвээ ямар нэг програм өөрийнхөө тохиргоог өөрчилж байвал түүнийг сайн програм л гэхээс өөрийгөө хөглөж байна гэхгүй. Өөрийгөө хөглөдөг гитар байдаггүйтэй адилхан өөрийгөө хөглөдөг өгөгдлийн сан гэж байхгүй. Хүн хэдий сайн ч хэлэхээс нааш ухаарахгүй гэж хүртэл үг байдаг шүү дээ. Ер тэгээд цаашилбал өгөгдлийн сан сайн ажиллана гэдэг тухайн өгөгдлийн сангийн програмаас дан ганц хамаарах зүйл ч биш. Жишээ нь, өгөгдлийн сан хэд хэдэн тусдаа сэрвэрүүд дээр тархаж байрласан грид юмуу эсвэл кластер хэлбэрээр ажиллаж байгаа тохиолдолд тэдгээрийн ажиллагаа сүлжээний тохиргооноос нилээд хамааралтай болж ирнэ. Сүлжээг хөглөх шаардлагатай болно гэсэн үг. Өшөө цаашилбал тухайн өгөгдлийн сангийн ажиллаж байгаа үйлдлийн системийг ч хөглөх шаардлага гарж мэднэ. Тухайлбал Oracle -ийг зохимжтой ажиллуулахын тулд үйлдлийн системийн зарим параметрүүдийг өөрчлөх хэрэг гардаг.

Ингээд бодохоор системийн хурд хүчийг тааруулж хөглөнө гэдэг асар өргөн хүрээтэй амаргүй ажил болох нь харагдаж байна.

Эцэст нь хэлэхэд нөхцөл байдалд тохирсон системээ сонгож аваад сайн хөглөж чадах юм бол гайгүй сайн хөгжимдөж болно: Буруу сонголт, муу хөглөлт системийг шаварт унагаадаг болохоос, MySql PostgreSql эд нар болхи, Oracle мундаг гэж ярих нь эв дүйгүй хэрэг болно. Цахилгаан гитар ч тэр, Банзан гитар ч тэр, аль нь ч өөрөө өөрийгөө хөглөдөггүй.

Холбоосууд: