{"id":1867,"date":"2022-10-18T06:03:54","date_gmt":"2022-10-18T06:03:54","guid":{"rendered":"https:\/\/sunucucozumleri.com\/?p=1867"},"modified":"2022-10-17T20:21:37","modified_gmt":"2022-10-17T20:21:37","slug":"glusterfs-performans-testi-nasil-yapilir","status":"publish","type":"post","link":"https:\/\/sunucucozumleri.com\/blog\/glusterfs-performans-testi-nasil-yapilir\/","title":{"rendered":"GlusterFS Performans Testi Nas\u0131l Yap\u0131l\u0131r?"},"content":{"rendered":"<p>Bir <strong>GlusterFS<\/strong> birimi olu\u015fturduktan sonra, uygulaman\u0131z i\u00e7in yeterli performansa sahip oldu\u011funu do\u011frulaman\u0131z gerekir ve de\u011filse, sorunun temel nedenini yal\u0131tmak i\u00e7in bir yola ihtiyac\u0131n\u0131z vard\u0131r.<\/p>\n<p>\u0130ki t\u00fcr i\u015f y\u00fck\u00fc vard\u0131r:<\/p>\n<ul>\n<li>sentetik &#8211; a\u015fa\u011f\u0131dakiler gibi bir test program\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n<\/li>\n<li>uygulama &#8211; mevcut uygulamay\u0131 \u00e7al\u0131\u015ft\u0131r<\/li>\n<\/ul>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Makale \u0130\u00e7eri\u011fi<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"\u0130\u00e7indekiler Tablosunu A\u00e7\/Kapat\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/sunucucozumleri.com\/blog\/glusterfs-performans-testi-nasil-yapilir\/#Profil_olusturma_araclari\" >Profil olu\u015fturma ara\u00e7lar\u0131<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/sunucucozumleri.com\/blog\/glusterfs-performans-testi-nasil-yapilir\/#Istemci_tarafi_profil_olusturma\" >\u0130stemci taraf\u0131 profil olu\u015fturma<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/sunucucozumleri.com\/blog\/glusterfs-performans-testi-nasil-yapilir\/#Sunucu_tarafli_profil_olusturma\" >Sunucu tarafl\u0131 profil olu\u015fturma<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/sunucucozumleri.com\/blog\/glusterfs-performans-testi-nasil-yapilir\/#Test_araclari\" >Test ara\u00e7lar\u0131<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/sunucucozumleri.com\/blog\/glusterfs-performans-testi-nasil-yapilir\/#Fio_Nasil_Kullanilir\" >Fio Nas\u0131l Kullan\u0131l\u0131r?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/sunucucozumleri.com\/blog\/glusterfs-performans-testi-nasil-yapilir\/#Smallfile_Dagitilmis_GC_Karsilastirmasi_Nasil_Kullanilir\" >Smallfile Da\u011f\u0131t\u0131lm\u0131\u015f G\/\u00c7 Kar\u015f\u0131la\u015ft\u0131rmas\u0131 Nas\u0131l Kullan\u0131l\u0131r?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/sunucucozumleri.com\/blog\/glusterfs-performans-testi-nasil-yapilir\/#Iozone_Nasil_Kullanilir\" >Iozone Nas\u0131l Kullan\u0131l\u0131r?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/sunucucozumleri.com\/blog\/glusterfs-performans-testi-nasil-yapilir\/#paralel-libgfapi\" >paralel-libgfapi<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/sunucucozumleri.com\/blog\/glusterfs-performans-testi-nasil-yapilir\/#Nesne_Deposu_araclari\" >Nesne Deposu ara\u00e7lar\u0131<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/sunucucozumleri.com\/blog\/glusterfs-performans-testi-nasil-yapilir\/#Is_yogunlugu\" >\u0130\u015f yo\u011funlu\u011fu<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/sunucucozumleri.com\/blog\/glusterfs-performans-testi-nasil-yapilir\/#Veri_vs_meta_veri\" >Veri vs meta veri<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/sunucucozumleri.com\/blog\/glusterfs-performans-testi-nasil-yapilir\/#Yukaridan_asagiya_is_yuku_analizi\" >Yukar\u0131dan a\u015fa\u011f\u0131ya i\u015f y\u00fck\u00fc analizi<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/sunucucozumleri.com\/blog\/glusterfs-performans-testi-nasil-yapilir\/#Asagidan_yukariya_analiz\" >A\u015fa\u011f\u0131dan yukar\u0131ya analiz<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/sunucucozumleri.com\/blog\/glusterfs-performans-testi-nasil-yapilir\/#Yapilandirma\" >Yap\u0131land\u0131rma<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/sunucucozumleri.com\/blog\/glusterfs-performans-testi-nasil-yapilir\/#Ag_Testi_icin_Netperf_Nasil_Kullanilir\" >A\u011f Testi i\u00e7in Netperf Nas\u0131l Kullan\u0131l\u0131r?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/sunucucozumleri.com\/blog\/glusterfs-performans-testi-nasil-yapilir\/#Sonuclar\" >Sonu\u00e7lar<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h1 id=\"profiling-tools\"><span class=\"ez-toc-section\" id=\"Profil_olusturma_araclari\"><\/span>Profil olu\u015fturma ara\u00e7lar\u0131<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>\u0130deal olarak, Gluster&#8217;da \u00e7al\u0131\u015ft\u0131rmak istedi\u011finiz as\u0131l uygulamay\u0131 kullanmak en iyisidir, ancak uygulamalar sistem y\u00f6neticisine performans sorunlar\u0131n\u0131n, \u00f6zellikle gecikme (yan\u0131t s\u00fcresi) sorunlar\u0131n\u0131n nerede oldu\u011funu \u00e7o\u011fu zaman s\u00f6ylemez.\u00a0Dolay\u0131s\u0131yla, Gluster&#8217;da yerle\u015fik olarak, uygulaman\u0131n g\u00f6rd\u00fc\u011f\u00fc performans\u0131, uygulamay\u0131 de\u011fi\u015ftirmeden \u00f6l\u00e7ebilen, istilac\u0131 olmayan profil olu\u015fturma ara\u00e7lar\u0131 vard\u0131r.\u00a0\u015eu anda Gluster profil olu\u015fturma y\u00f6ntemleri, io-stats \u00e7eviricisine dayanmaktad\u0131r ve \u015funlar\u0131 i\u00e7erir:<\/p>\n<ul>\n<li>istemci taraf\u0131 profil olu\u015fturma &#8211; profil olu\u015fturma verilerini \u00f6rneklemek i\u00e7in bir Gluster ba\u011flama noktas\u0131 veya libgfapi i\u015flemi uygulay\u0131n.\u00a0Bu durumda, io-stats terc\u00fcman\u0131, terc\u00fcman y\u0131\u011f\u0131n\u0131n\u0131n &#8220;en \u00fcst\u00fcnde&#8221; bulunur, bu nedenle profil verileri, uygulaman\u0131n (veya FUSE ba\u011flama noktas\u0131n\u0131n) Gluster&#8217;dan yapmas\u0131n\u0131 istedi\u011fi \u015feyi ger\u00e7ekten temsil eder.\u00a0\u00d6rne\u011fin, tek bir uygulama yazma i\u015flemi bir kez WRITE FOP (dosya i\u015flemi) \u00e7a\u011fr\u0131s\u0131 olarak say\u0131l\u0131r ve bu WRITE FOP&#8217;nin gecikme s\u00fcresi, y\u0131\u011f\u0131n\u0131n alt k\u0131sm\u0131ndaki AFR \u00e7eviricisi taraf\u0131ndan yap\u0131lan veri \u00e7o\u011faltma gecikmesini i\u00e7erir.<\/li>\n<li><a href=\"https:\/\/sunucucozumleri.com\/blog\/frontpage\/\">sunucu<\/a> taraf\u0131 profil olu\u015fturma &#8211; bu, &#8220;gluster volume profile&#8221; komutu kullan\u0131larak yap\u0131l\u0131r (ve &#8220;gluster volume top&#8221;, kullan\u0131mda olan belirli s\u0131cak dosyalar\u0131 tan\u0131mlamak i\u00e7in de kullan\u0131labilir).\u00a0Sunucu taraf\u0131 profil olu\u015fturma, zaman i\u00e7inde t\u00fcm Gluster biriminin verimini \u00f6l\u00e7ebilir ve sunucu taraf\u0131 gecikmelerini \u00f6l\u00e7ebilir.\u00a0Ancak, a\u011f veya istemci taraf\u0131 gecikmelerini i\u00e7ermez.\u00a0G\/\u00c7 i\u015f y\u00fck\u00fcn\u00fc de\u011fi\u015ftiren istemci taraf\u0131 \u00e7evirmenleri (\u00f6rnekler: silme kodlamas\u0131, \u00f6nbellek katmanlamas\u0131) nedeniyle uygulama davran\u0131\u015f\u0131n\u0131 anlamak da zordur.<\/li>\n<\/ul>\n<p>K\u0131sacas\u0131, &#8220;uygulamam neden yan\u0131t vermiyor&#8221;u anlamak i\u00e7in istemci taraf\u0131 profil olu\u015fturmay\u0131 kullan\u0131n.\u00a0ve Gluster biriminizin ne kadar me\u015fgul oldu\u011funu, ona ne t\u00fcr bir i\u015f y\u00fck\u00fcn\u00fcn uyguland\u0131\u011f\u0131n\u0131 (yani \u00e7o\u011funlukla okunur mu? k\u00fc\u00e7\u00fck dosya m\u0131?) ve G\/\u00c7 y\u00fck\u00fcn\u00fcn ne kadar iyi yay\u0131ld\u0131\u011f\u0131n\u0131 anlamak i\u00e7in sunucu taraf\u0131 profil olu\u015fturmay\u0131 kullan\u0131n. hacim boyunca.<\/p>\n<h2 id=\"client-side-profiling\"><span class=\"ez-toc-section\" id=\"Istemci_tarafi_profil_olusturma\"><\/span>\u0130stemci taraf\u0131 profil olu\u015fturma<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0130stemci taraf\u0131 profil olu\u015fturmay\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in,<\/p>\n<ul>\n<li>gluster hacim profili senin-hacim ba\u015flang\u0131c\u0131n<\/li>\n<li>setfattr -n trust.io-stats-dump -v io-stats-pre.txt \/your\/mountpoint<\/li>\n<\/ul>\n<p><code>\/var\/run\/gluster\/io-stats-pre.txt<\/code>Bu , istemcide\u00a0belirtilen dosyay\u0131 ( ) olu\u015fturur .\u00a0gvp-client.sh\u00a0gibi bir komut dosyas\u0131\u00a0bu verilerin toplanmas\u0131n\u0131 otomatikle\u015ftirebilir.<\/p>\n<p>TBS: Farkl\u0131 FOP&#8217;lar\u0131n ne oldu\u011fu ve ne anlama geldikleri.<\/p>\n<h2 id=\"server-side-profiling\"><span class=\"ez-toc-section\" id=\"Sunucu_tarafli_profil_olusturma\"><\/span>Sunucu tarafl\u0131 profil olu\u015fturma<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u00c7al\u0131\u015ft\u0131rmak i\u00e7in:<\/p>\n<ul>\n<li>gluster hacim profili senin-hacim ba\u015flang\u0131c\u0131n<\/li>\n<li>bu komutu periyodik olarak tekrarlay\u0131n: hacim profilinizi yap\u0131\u015ft\u0131r\u0131n hacim bilginiz<\/li>\n<li>gluster hacim profili hacim dura\u011f\u0131n\u0131z<\/li>\n<\/ul>\n<p>gvp.sh\u00a0gibi bir komut dosyas\u0131\u00a0bu prosed\u00fcr\u00fc otomatikle\u015ftirmenize yard\u0131mc\u0131 olabilir.<\/p>\n<p>Bu verileri sonradan i\u015flemek i\u00e7in komut dosyalar\u0131 \u015fu anda geli\u015ftirme a\u015famas\u0131ndad\u0131r, neye ihtiyac\u0131n\u0131z oldu\u011funu ve verileri sunmak i\u00e7in neyin yararl\u0131 bir format olaca\u011f\u0131n\u0131 bize bildirin.<\/p>\n<h1 id=\"testing-tools\"><span class=\"ez-toc-section\" id=\"Test_araclari\"><\/span>Test ara\u00e7lar\u0131<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>Bu b\u00f6l\u00fcmde, \u00e7ok \u00e7e\u015fitli POSIX benzeri i\u015fletim sistemleri ve \u00e7al\u0131\u015fma zaman\u0131 ortamlar\u0131 i\u00e7in Gluster performans\u0131n\u0131 uygulamadan ba\u011f\u0131ms\u0131z bir \u015fekilde \u00f6l\u00e7mek i\u00e7in kullan\u0131labilecek baz\u0131 temel i\u015f y\u00fck\u00fc testleri \u00f6neriyoruz.\u00a0Daha sonra bu sonu\u00e7lar\u0131 yorumlamak i\u00e7in baz\u0131 terminoloji ve kavramsal \u00e7er\u00e7eve sa\u011fl\u0131yoruz.<\/p>\n<p>Burada \u00f6nerdi\u011fimiz ara\u00e7lar, da\u011f\u0131t\u0131lm\u0131\u015f bir dosya sisteminde \u00e7al\u0131\u015facak \u015fekilde tasarlanm\u0131\u015ft\u0131r.\u00a0Bu, \u015fu anda bile dosya sistemi kar\u015f\u0131la\u015ft\u0131rmalar\u0131 i\u00e7in nispeten nadir bir \u00f6zelliktir!\u00a0Tek bir sistemden \u00e7al\u0131\u015ft\u0131r\u0131labilen \u00e7ok daha b\u00fcy\u00fck bir k\u0131yaslama seti mevcuttur.\u00a0Tek sistem sonu\u00e7lar\u0131 \u00f6nemli olmakla birlikte, da\u011f\u0131t\u0131lm\u0131\u015f bir dosya sisteminin performans yeteneklerinin kesin bir \u00f6l\u00e7\u00fcs\u00fc olmaktan uzakt\u0131r.<\/p>\n<ul>\n<li><a href=\"http:\/\/freecode.com\/projects\/fio\" rel=\"nofollow noopener\" target=\"_blank\">fio<\/a>\u00a0&#8211; b\u00fcy\u00fck dosya G\/\u00c7 testleri i\u00e7in.<\/li>\n<li><a href=\"https:\/\/github.com\/bengland2\/smallfile\" rel=\"nofollow noopener\" target=\"_blank\">smallfile<\/a>\u00a0&#8211; saf i\u015f y\u00fck\u00fc k\u00fc\u00e7\u00fck dosya testleri i\u00e7in<\/li>\n<li><a href=\"http:\/\/www.iozone.org\/\" rel=\"nofollow noopener\" target=\"_blank\">iozone<\/a>\u00a0&#8211; saf i\u015f y\u00fck\u00fc b\u00fcy\u00fck dosya testleri i\u00e7in<\/li>\n<li><a href=\"https:\/\/github.com\/bengland2\/parallel-libgfapi\" rel=\"nofollow noopener\" target=\"_blank\">parallel-libgfapi<\/a>\u00a0&#8211; saf i\u015f y\u00fck\u00fc libgfapi testleri i\u00e7in<\/li>\n<\/ul>\n<p>SPECsfs2014&#8217;\u00fcn &#8220;netmist&#8221; karma i\u015f y\u00fck\u00fc olu\u015fturucusu baz\u0131 durumlarda uygun olabilir, ancak teknik olarak a\u00e7\u0131k kaynakl\u0131 bir ara\u00e7 de\u011fildir.\u00a0Bu ara\u00e7, iozone&#8217;un yazar\u0131 olan Don Capps taraf\u0131ndan yaz\u0131lm\u0131\u015ft\u0131r.<\/p>\n<h3 id=\"fio\"><span class=\"ez-toc-section\" id=\"Fio_Nasil_Kullanilir\"><\/span>Fio Nas\u0131l Kullan\u0131l\u0131r?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>fio son derece g\u00fc\u00e7l\u00fcd\u00fcr ve iozone&#8217;dan farkl\u0131 olarak geleneksel da\u011f\u0131t\u0131mlardan kolayca y\u00fcklenir ve May\u0131s 2015 itibar\u0131yla &#8211;client parametresi yukar\u0131 ak\u0131\u015f\u0131nda a\u00e7\u0131klanan giderek daha g\u00fc\u00e7l\u00fc da\u011f\u0131t\u0131lm\u0131\u015f test yeteneklerine sahiptir. Bu modu kullanmak i\u00e7in her i\u015f y\u00fck\u00fc olu\u015fturucu ana bilgisayar\u0131 \u015funlar\u0131 kullan\u0131r:<\/p>\n<pre id=\"__code_1\"><button class=\"md-clipboard md-icon\" style=\"box-sizing: inherit; -webkit-tap-highlight-color: transparent; background: transparent; border: 0px; font-family: inherit; font-size: inherit; margin: 0px; padding: 0px; border-radius: 0.1rem; color: var(--md-default-fg-color--lightest); cursor: pointer; height: 1.5em; outline: none; outline-offset: 0.1rem; position: absolute; right: 0.5em; top: 0.5em; transition: color 0.25s ease 0s; width: 1.5em; z-index: 1;\" title=\"Panoya kopyala\" data-clipboard-target=\"#__code_1 &gt; code\"><\/button><code>    fio --server --daemonize=\/var\/run\/fio-svr.pid\r\n<\/code><\/pre>\n<p>Ve g\u00fcvenlik duvar\u0131n\u0131z\u0131n bunun i\u00e7in 8765 numaral\u0131 ba\u011flant\u0131 noktas\u0131na izin verdi\u011finden emin olun.\u00a0Art\u0131k, a\u015fa\u011f\u0131daki gibi s\u00f6zdizimini kullanarak ana <a href=\"https:\/\/sunucucozumleri.com\/blog\/bilgisayar-nasil-kullanilir\/\">bilgisayar<\/a> k\u00fcmelerinde testler \u00e7al\u0131\u015ft\u0131rabilirsiniz:<\/p>\n<pre id=\"__code_2\"><button class=\"md-clipboard md-icon\" style=\"box-sizing: inherit; -webkit-tap-highlight-color: transparent; background: transparent; border: 0px; font-family: inherit; font-size: inherit; margin: 0px; padding: 0px; border-radius: 0.1rem; color: var(--md-default-fg-color--lightest); cursor: pointer; height: 1.5em; outline: none; outline-offset: 0.1rem; position: absolute; right: 0.5em; top: 0.5em; transition: color 0.25s ease 0s; width: 1.5em; z-index: 1;\" title=\"Panoya kopyala\" data-clipboard-target=\"#__code_2 &gt; code\"><\/button><code>    fio --client=workload-generator.list --output-format=json my-workload.fiojob\r\n<\/code><\/pre>\n<p>Bununla birlikte, fio \u00f6rneklerini ayr\u0131 ana bilgisayarlarda ba\u015flatarak, t\u00fcm fio \u00f6rneklerini m\u00fcmk\u00fcn oldu\u011funca ayn\u0131 zamana yak\u0131n ba\u015flatmaya \u00f6zen g\u00f6stererek, i\u015f par\u00e7ac\u0131\u011f\u0131 ba\u015f\u0131na aktar\u0131m h\u0131z\u0131n\u0131 s\u0131n\u0131rlayarak ve miktar yerine \u00e7al\u0131\u015ft\u0131rma s\u00fcresini belirterek da\u011f\u0131t\u0131lm\u0131\u015f test i\u00e7in de kullanabilirsiniz. t\u00fcm fio \u00f6rneklerinin yakla\u015f\u0131k olarak ayn\u0131 anda bitmesi i\u00e7in.\u00a0Ard\u0131ndan, anlaml\u0131 bir toplu sonu\u00e7 elde etmek i\u00e7in farkl\u0131 ana bilgisayarlardan gelen fio sonu\u00e7lar\u0131n\u0131 toplayabilirsiniz.<\/p>\n<p>fio ayr\u0131ca farkl\u0131 I\/O motorlar\u0131na sahiptir, \u00f6zellikle Huamin Chen,\u00a0FUSE kullanmadan Gluster performans\u0131n\u0131 test etmek i\u00e7in fio&#8217;yu kullanabilmeniz i\u00e7in fio i\u00e7in\u00a0<strong><em>libgfapi motorunu yazd\u0131.<\/em><\/strong><\/p>\n<p>Da\u011f\u0131t\u0131lm\u0131\u015f modda fio s\u0131n\u0131rlamalar\u0131:<\/p>\n<ul>\n<li>ta\u015f duvar &#8211; fio, son i\u015f par\u00e7ac\u0131\u011f\u0131n\u0131n bir test \u00e7al\u0131\u015ft\u0131rmas\u0131n\u0131 ne zaman bitirdi\u011fini temel alarak verimi hesaplar.\u00a0Buna kar\u015f\u0131l\u0131k, iozone, FIRST i\u015f par\u00e7ac\u0131\u011f\u0131n\u0131n i\u015f y\u00fck\u00fcn\u00fc ne zaman bitirdi\u011fini temel alarak verimi varsay\u0131lan olarak hesaplar.\u00a0Bu, (aldat\u0131c\u0131 bir \u015fekilde?) iozone i\u00e7in daha y\u00fcksek verim sonu\u00e7lar\u0131na yol a\u00e7abilir, \u00e7\u00fcnk\u00fc ka\u00e7\u0131n\u0131lmaz olarak biti\u015f \u00e7izgisine di\u011ferlerinden daha sonra topallayan baz\u0131 &#8220;gecikmi\u015f&#8221; iplikler vard\u0131r.\u00a0Baz\u0131 durumlarda, test i\u00e7in bir zaman s\u0131n\u0131r\u0131 belirleyerek bu s\u0131n\u0131rlaman\u0131n \u00fcstesinden gelmek m\u00fcmk\u00fcnd\u00fcr.\u00a0Bu, tipik olarak t\u00fcm dosyay\u0131\/ayg\u0131t\u0131 yine de okumak\/yazmak istemedi\u011finiz rastgele G\/\u00c7 testleri i\u00e7in iyi \u00e7al\u0131\u015f\u0131r.<\/li>\n<li>yan\u0131t s\u00fcreleri &gt; 1 saniye oldu\u011funda hata &#8211; en az\u0131ndan baz\u0131 durumlarda fio, fio i\u015f par\u00e7ac\u0131klar\u0131 1 saniyeden \u00e7ok daha uzun yan\u0131t s\u00fcreleriyle kar\u015f\u0131la\u015ft\u0131\u011f\u0131nda a\u015f\u0131r\u0131 y\u00fcksek IOPS bildirdi, bu, uygulamada adaletsizlik oldu\u011funda da\u011f\u0131t\u0131lm\u0131\u015f depolama i\u00e7in olabilir.<\/li>\n<li>io motorlar\u0131 entegre de\u011fildir.<\/li>\n<\/ul>\n<h3 id=\"smallfile-distributed-io-benchmark\"><span class=\"ez-toc-section\" id=\"Smallfile_Dagitilmis_GC_Karsilastirmasi_Nasil_Kullanilir\"><\/span>Smallfile Da\u011f\u0131t\u0131lm\u0131\u015f G\/\u00c7 Kar\u015f\u0131la\u015ft\u0131rmas\u0131 Nas\u0131l Kullan\u0131l\u0131r?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><a href=\"https:\/\/github.com\/distributed-system-analysis\/smallfile\" rel=\"nofollow noopener\" target=\"_blank\">Smallfile<\/a>\u00a0, bir k\u00fcmenin tamam\u0131nda \u00e7e\u015fitli meta veri yo\u011fun i\u015f y\u00fcklerinin performans\u0131n\u0131 h\u0131zl\u0131 bir \u015fekilde \u00f6l\u00e7mek i\u00e7in kullan\u0131labilen <a href=\"https:\/\/sunucucozumleri.com\/blog\/python-nedir\/\">python<\/a> tabanl\u0131 k\u00fc\u00e7\u00fck dosya da\u011f\u0131t\u0131lm\u0131\u015f bir POSIX i\u015f y\u00fck\u00fc olu\u015fturucudur.\u00a0Herhangi bir belirli dosya sistemine veya AFAIK uygulamas\u0131na ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 yoktur.\u00a0Linux, Windows \u00fczerinde \u00e7al\u0131\u015f\u0131r ve \u00e7o\u011fu Unix&#8217;te de \u00e7al\u0131\u015fmas\u0131 gerekir.\u00a0B\u00fcy\u00fck dosya i\u015f y\u00fcklerinin performans\u0131n\u0131 \u00f6l\u00e7mek i\u00e7in iozone k\u0131yaslama kullan\u0131m\u0131n\u0131 tamamlamay\u0131 ama\u00e7lamaktad\u0131r ve iozone ve Ric Wheeler&#8217;\u0131n fs_mark&#8217;\u0131ndan belirli kavramlar\u0131 \u00f6d\u00fcn\u00e7 almaktad\u0131r.\u00a0Ben England taraf\u0131ndan Mart 2009&#8217;da geli\u015ftirilmi\u015ftir ve \u015fu anda a\u00e7\u0131k kaynakl\u0131d\u0131r (Apache Lisans\u0131 v2).<\/p>\n<p>Burada, bir ilk olu\u015fturma testinde ortaya konan dosyalar\u0131n daha sonra sonraki testlerde kullan\u0131ld\u0131\u011f\u0131 tipik bir basit test dizisi verilmi\u015ftir.\u00a0Bu 5&#8217;ten \u00e7ok daha fazla k\u00fc\u00e7\u00fck dosya i\u015flemi t\u00fcr\u00fc vard\u0131r (dok\u00fcmana bak\u0131n), ancak bunlar en yayg\u0131n kullan\u0131lanlard\u0131r.<\/p>\n<pre id=\"__code_3\"><button class=\"md-clipboard md-icon\" style=\"box-sizing: inherit; -webkit-tap-highlight-color: transparent; background: transparent; border: 0px; font-family: inherit; font-size: inherit; margin: 0px; padding: 0px; border-radius: 0.1rem; color: var(--md-default-fg-color--lightest); cursor: pointer; height: 1.5em; outline: none; outline-offset: 0.1rem; position: absolute; right: 0.5em; top: 0.5em; transition: color 0.25s ease 0s; width: 1.5em; z-index: 1;\" title=\"Panoya kopyala\" data-clipboard-target=\"#__code_3 &gt; code\"><\/button><code tabindex=\"0\">    SMF=\".\/smallfile_cli.py --top \/mnt\/glusterfs\/smf --host-set h1,h2,h3,h4 --threads 8 --file-size 4 --files 10000 --response-times Y \"\r\n    $SMF --operation create\r\n    for s in $SERVERS ; do ssh $h 'echo 3 &gt; \/proc\/sys\/vm\/drop_caches' ; done\r\n    $SMF --operation read\r\n    $SMF --operation append\r\n    $SMF --operation rename\r\n    $SMF --operation delete\r\n<\/code><\/pre>\n<h3 id=\"iozone\"><span class=\"ez-toc-section\" id=\"Iozone_Nasil_Kullanilir\"><\/span>Iozone Nas\u0131l Kullan\u0131l\u0131r?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bu arac\u0131n s\u0131n\u0131rlamalar\u0131 vard\u0131r, ancak -+m se\u00e7ene\u011fini (a\u015fa\u011f\u0131da) kullanarak da\u011f\u0131t\u0131lm\u0131\u015f testi iyi yapar.<\/p>\n<p>T\u00fcm kullan\u0131m durumlar\u0131n\u0131n otomatik olarak test edilmesi i\u00e7in &#8220;-a&#8221; se\u00e7ene\u011fi \u00f6nerilmez, \u00e7\u00fcnk\u00fc:<\/p>\n<ul>\n<li>bu, bir testten \u00f6nce okuma \u00f6nbelle\u011fini sunucuya b\u0131rakman\u0131za izin vermez.<\/li>\n<li>\u00f6l\u00e7\u00fclen veri noktalar\u0131n\u0131n \u00e7o\u011fu, \u00e7\u00f6zd\u00fc\u011f\u00fcn\u00fcz problemle ilgisiz olacakt\u0131r.<\/li>\n<\/ul>\n<p>Tek i\u015f par\u00e7ac\u0131\u011f\u0131 testi \u00f6nemli bir kullan\u0131m durumudur, ancak mevcut donan\u0131m\u0131 tam olarak kullanmak i\u00e7in genellikle \u00e7oklu i\u015f par\u00e7ac\u0131\u011f\u0131 ve hatta \u00e7oklu ana bilgisayar testi yapman\u0131z gerekir.<\/p>\n<p>Verilerin kal\u0131c\u0131 depolamaya ula\u015fmas\u0131 i\u00e7in ge\u00e7en s\u00fcreyi \u00f6l\u00e7mek i\u00e7in &#8220;-c -e&#8221; se\u00e7eneklerini kullanmay\u0131 d\u00fc\u015f\u00fcn\u00fcn.\u00a0&#8220;-C&#8221; se\u00e7ene\u011fi, her bir i\u015f par\u00e7ac\u0131\u011f\u0131n\u0131n teste ne kadar kat\u0131ld\u0131\u011f\u0131n\u0131 g\u00f6rmenizi sa\u011flar.\u00a0&#8220;-+n&#8221;, yeniden okuma ve yeniden yazma testlerini atlayarak zamandan tasarruf etmenizi sa\u011flar.\u00a0&#8220;-w&#8221; se\u00e7ene\u011fi, iozone&#8217;a eri\u015fti\u011fi dosyalar\u0131 silmemesini s\u00f6yler, b\u00f6ylece sonraki testler bunlar\u0131 kullanabilir.\u00a0Her testte \u015fu se\u00e7enekleri belirtin:<\/p>\n<ul>\n<li>-i &#8212; test tipi, 0=yazma, 1=okuma, 2=rastgele okuma\/yazma<\/li>\n<li>-r &#8212; veri aktar\u0131m boyutu &#8212; uygulama taraf\u0131ndan kullan\u0131lan G\/\u00c7 boyutunu sim\u00fcle etmenize olanak tan\u0131r<\/li>\n<li>-s &#8212; i\u015f par\u00e7ac\u0131\u011f\u0131 ba\u015f\u0131na dosya boyutu &#8212; sistemin sabit duruma ula\u015fmas\u0131 i\u00e7in yeterince b\u00fcy\u00fck olacak \u015fekilde bunu se\u00e7in (genellikle birden \u00e7ok GB gerekir)<\/li>\n<li>-t &#8212; i\u015f par\u00e7ac\u0131\u011f\u0131 say\u0131s\u0131 &#8212; ayn\u0131 anda ka\u00e7 alt i\u015flem G\/\u00c7 istekleri yay\u0131nlayacak<\/li>\n<li>-F &#8212; dosya listesi &#8212; hangi dosyalar\u0131n yaz\u0131laca\u011f\u0131\/okunaca\u011f\u0131.\u00a0Belirtmezseniz, varsay\u0131lan dizinde iozone.DUMMY.* dosya adlar\u0131 kullan\u0131lacakt\u0131r.<\/li>\n<\/ul>\n<p>64 KB aktar\u0131m boyutu ve 1 GB dosya boyutuyla payla\u015f\u0131lan Gluster ba\u011flama noktas\u0131 dizinine \/mnt\/glusterfs ile 8 i\u015f par\u00e7ac\u0131kl\u0131 s\u0131ral\u0131 yazma testi \u00f6rne\u011fi, aktar\u0131m h\u0131z\u0131 hesaplamas\u0131ndaki dosyalar\u0131 fsync() ve kapatma() zaman\u0131 dahil:<\/p>\n<pre id=\"__code_4\"><button class=\"md-clipboard md-icon\" style=\"box-sizing: inherit; -webkit-tap-highlight-color: transparent; background: transparent; border: 0px; font-family: inherit; font-size: inherit; margin: 0px; padding: 0px; border-radius: 0.1rem; color: var(--md-default-fg-color--lightest); cursor: pointer; height: 1.5em; outline: none; outline-offset: 0.1rem; position: absolute; right: 0.5em; top: 0.5em; transition: color 0.25s ease 0s; width: 1.5em; z-index: 1;\" title=\"Copy to clipboard\" data-clipboard-target=\"#__code_4 &gt; code\"><\/button><code tabindex=\"0\">    iozone\u00a0-w\u00a0-c\u00a0-e\u00a0-i\u00a00\u00a0-+n\u00a0-C\u00a0-r\u00a064k\u00a0-s\u00a01g\u00a0-t\u00a08\u00a0-F\u00a0\/mnt\/glusterfs\/f{0,1,2,3,4,5,6,7,8}.ioz\r\n<\/code><\/pre>\n<p>UYARI: iozone&#8217;da rastgele G\/\u00c7 testi, rastgele okumas\u0131 ve ard\u0131ndan t\u00fcm dosyay\u0131 rastgele yazmas\u0131 gereken iozone k\u0131s\u0131tlamas\u0131yla b\u00fcy\u00fck \u00f6l\u00e7\u00fcde k\u0131s\u0131tlanm\u0131\u015ft\u0131r!\u00a0\u0130stedi\u011fimiz bu de\u011fil &#8211; bunun yerine dosya boyutunun veya s\u00fcrenin bir k\u0131sm\u0131 i\u00e7in rastgele okuma\/yazma yapmal\u0131 ve testin bitmesi i\u00e7in fazla beklemeden diske daha fazla yay\u0131lmam\u0131za izin vermelidir.\u00a0Bu nedenle fio (a\u015fa\u011f\u0131da), rastgele G\/\u00c7 i\u015f y\u00fckleri i\u00e7in tercih edilen test arac\u0131d\u0131r.<\/p>\n<p>Da\u011f\u0131t\u0131lm\u0131\u015f test, iozone yard\u0131mc\u0131 program\u0131n\u0131n bir g\u00fcc\u00fcd\u00fcr, ancak bu, &#8220;-F&#8221; se\u00e7ene\u011fi yerine &#8220;-+m&#8221; se\u00e7ene\u011finin kullan\u0131lmas\u0131n\u0131 gerektirir.\u00a0&#8220;-+m&#8221; se\u00e7ene\u011fiyle iletilen yap\u0131land\u0131rma dosyas\u0131 \u015funa benzeyen bir dizi kay\u0131t i\u00e7erir:<\/p>\n<pre id=\"__code_5\"><button class=\"md-clipboard md-icon\" style=\"box-sizing: inherit; -webkit-tap-highlight-color: transparent; background: transparent; border: 0px; font-family: inherit; font-size: inherit; margin: 0px; padding: 0px; border-radius: 0.1rem; color: var(--md-default-fg-color--lightest); cursor: pointer; height: 1.5em; outline: none; outline-offset: 0.1rem; position: absolute; right: 0.5em; top: 0.5em; transition: color 0.25s ease 0s; width: 1.5em; z-index: 1;\" title=\"Copy to clipboard\" data-clipboard-target=\"#__code_5 &gt; code\"><\/button><code>    hostname\u00a0\u00a0\u00a0directory\u00a0\u00a0\u00a0iozone-pathname\r\n<\/code><\/pre>\n<p>Ana bilgisayar ad\u0131, iozone&#8217;un kullanabilece\u011fi bir test s\u00fcr\u00fcc\u00fcs\u00fc makinesinin ana bilgisayar ad\u0131 veya IP adresi oldu\u011funda, dizin, o ana bilgisayar i\u00e7inde kullan\u0131lacak bir dizinin yol ad\u0131d\u0131r ve iozone-yol ad\u0131, o ana bilgisayarda kullan\u0131lacak iozone y\u00fcr\u00fct\u00fclebilir dosyas\u0131n\u0131n tam yol ad\u0131d\u0131r.\u00a0Her hedef ana bilgisayar\u0131n, iozone komutunun \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131 ana bilgisayar\u0131n ana bilgisayar ad\u0131n\u0131 \u00e7\u00f6zebildi\u011finden emin olun.\u00a0T\u00fcm hedef ana bilgisayarlar, komutu \u00e7al\u0131\u015ft\u0131ran ana bilgisayardan parolas\u0131z ssh eri\u015fimine izin vermelidir.<\/p>\n<p>\u00d6rne\u011fin: (Burada ip adresim, iozone&#8217;un \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131 makineyi ifade eder)<\/p>\n<pre id=\"__code_6\"><button class=\"md-clipboard md-icon\" style=\"box-sizing: inherit; -webkit-tap-highlight-color: transparent; background: transparent; border: 0px; font-family: inherit; font-size: inherit; margin: 0px; padding: 0px; border-radius: 0.1rem; color: var(--md-default-fg-color--lightest); cursor: pointer; height: 1.5em; outline: none; outline-offset: 0.1rem; position: absolute; right: 0.5em; top: 0.5em; transition: color 0.25s ease 0s; width: 1.5em; z-index: 1;\" title=\"Copy to clipboard\" data-clipboard-target=\"#__code_6 &gt; code\"><\/button><code>    export\u00a0RSH=ssh\r\n    iozone\u00a0-+m\u00a0ioz.cfg\u00a0-+h\u00a0my-ip-address\u00a0-w\u00a0-c\u00a0-e\u00a0-i\u00a00\u00a0-+n\u00a0-C\u00a0-r\u00a064k\u00a0-s\u00a01g\u00a0-t\u00a04\r\n<\/code><\/pre>\n<p>Ve ioz.cfg dosyas\u0131 bu kay\u0131tlar\u0131 i\u00e7erir (burada \/mnt\/glusterfs, her test makinesindeki Gluster ba\u011flama noktas\u0131d\u0131r ve test-client-ip, bir istemcinin IP adresidir).\u00a0Ayr\u0131ca, dosyadaki her kayd\u0131n IOZone terminolojisinde bir i\u015f par\u00e7ac\u0131\u011f\u0131 oldu\u011funu unutmay\u0131n.\u00a0Yukar\u0131daki \u00f6rnekte thread say\u0131s\u0131n\u0131 4 olarak tan\u0131mlad\u0131\u011f\u0131m\u0131z i\u00e7in tek bir client i\u00e7in 4 tane kayd\u0131m\u0131z(thread) var.<\/p>\n<pre id=\"__code_7\"><button class=\"md-clipboard md-icon\" style=\"box-sizing: inherit; -webkit-tap-highlight-color: transparent; background: transparent; border: 0px; font-family: inherit; font-size: inherit; margin: 0px; padding: 0px; border-radius: 0.1rem; color: var(--md-default-fg-color--lightest); cursor: pointer; height: 1.5em; outline: none; outline-offset: 0.1rem; position: absolute; right: 0.5em; top: 0.5em; transition: color 0.25s ease 0s; width: 1.5em; z-index: 1;\" title=\"Copy to clipboard\" data-clipboard-target=\"#__code_7 &gt; code\"><\/button><code>    test-client-ip\u00a0\u00a0\/mnt\/glusterfs\u00a0\u00a0\/usr\/local\/bin\/iozone\r\n    test-client-ip\u00a0\u00a0\/mnt\/glusterfs\u00a0\u00a0\/usr\/local\/bin\/iozone\r\n    test-client-ip\u00a0\u00a0\/mnt\/glusterfs\u00a0\u00a0\/usr\/local\/bin\/iozone\r\n    test-client-ip\u00a0\u00a0\/mnt\/glusterfs\u00a0\u00a0\/usr\/local\/bin\/iozone\r\n<\/code><\/pre>\n<p>K\u0131s\u0131tlama: iozone ayr\u0131cal\u0131kl\u0131 olmayan ba\u011flant\u0131 noktalar\u0131 kulland\u0131\u011f\u0131ndan, baz\u0131\/t\u00fcm ana bilgisayarlarda iptables&#8217;\u0131 ge\u00e7ici olarak kapatmak veya de\u011fi\u015ftirmek gerekebilir.\u00a0\u0130kincil makineler, ssh arac\u0131l\u0131\u011f\u0131yla Birincil makineden parolas\u0131z eri\u015fimi desteklemelidir.<\/p>\n<p>-+h se\u00e7ene\u011finin belgelenmemi\u015f oldu\u011funu, ancak ikincil ana bilgisayara hangi IP adresinin kullan\u0131laca\u011f\u0131n\u0131 s\u00f6yler, b\u00f6ylece ikincil ana bilgisayar\u0131n test s\u00fcr\u00fcc\u00fcs\u00fcn\u00fcn ana bilgisayar ad\u0131n\u0131 \u00e7\u00f6z\u00fcmleyebilmesi gerekmez.\u00a0my-ip-address, sonu\u00e7lar\u0131 ana bilgisayara geri bildirmek i\u00e7in ikincil ki\u015finin ba\u011flanmas\u0131 gereken IP adresidir.\u00a0Bunun, ana bilgisayar\u0131n ana bilgisayar ad\u0131yla ayn\u0131 olmas\u0131 gerekmez.<\/p>\n<p>Tipik olarak, dosyay\u0131 yerle\u015ftirmek, sunuculara (ve gerekirse istemcilere) \u00f6nbelle\u011fi b\u0131rakmak, s\u0131ral\u0131 okuma testi yapmak, \u00f6nbelle\u011fi b\u0131rakmak, istenirse rastgele G\/\u00c7 testi yapmak i\u00e7in \u00f6nce s\u0131ral\u0131 yazma testini \u00e7al\u0131\u015ft\u0131r\u0131rs\u0131n\u0131z.\u00a0Yukar\u0131daki \u00f6rne\u011fi kullanarak:<\/p>\n<pre id=\"__code_8\"><button class=\"md-clipboard md-icon\" style=\"box-sizing: inherit; -webkit-tap-highlight-color: transparent; background: transparent; border: 0px; font-family: inherit; font-size: inherit; margin: 0px; padding: 0px; border-radius: 0.1rem; color: var(--md-default-fg-color--lightest); cursor: pointer; height: 1.5em; outline: none; outline-offset: 0.1rem; position: absolute; right: 0.5em; top: 0.5em; transition: color 0.25s ease 0s; width: 1.5em; z-index: 1;\" title=\"Copy to clipboard\" data-clipboard-target=\"#__code_8 &gt; code\"><\/button><code>    export\u00a0RSH=ssh\r\n    IOZ=\"iozone\u00a0-+m\u00a0ioz.cfg\u00a0-+h\u00a0my-ip-address\u00a0-w\u00a0-C\u00a0-c\u00a0-e\u00a0-r\u00a064k\u00a0-+n\u00a0\"\r\n     hosts=\"`awk\u00a0'{\u00a0print\u00a0$1\u00a0}'\u00a0ioz.cfg`\"\r\n    $IOZ\u00a0-i\u00a00\u00a0-s\u00a01g\u00a0-t\u00a04`\\\r\n    for\u00a0n\u00a0in\u00a0$hosts\u00a0$servers\u00a0;\u00a0do\u00a0\\\r\n    \u00a0\u00a0\u00a0ssh\u00a0$n\u00a0'sync;\u00a0echo\u00a01\u00a0&gt;\u00a0\/proc\/sys\/vm\/drop_caches'\u00a0;\u00a0done\r\n    $IOZ\u00a0-i\u00a01\u00a0-s\u00a01g\u00a0-t\u00a04\r\n    for\u00a0n\u00a0in\u00a0$hosts\u00a0$servers\u00a0;\u00a0do\u00a0\\\r\n    \u00a0\u00a0\u00a0ssh\u00a0$n\u00a0'sync;\u00a0echo\u00a01\u00a0&gt;\u00a0\/proc\/sys\/vm\/drop_caches'\u00a0;\u00a0done\r\n    $IOZ\u00a0-i\u00a02\u00a0-s\u00a01g\u00a0-t\u00a04\r\n<\/code><\/pre>\n<p>Arabelle\u011fe al\u0131nm\u0131\u015f G\/\u00c7 (varsay\u0131lan) ile istemci kullan\u0131yorsan\u0131z, \u00f6nce istemci makinelere, ard\u0131ndan sunucu makinelerine de yukar\u0131da g\u00f6sterildi\u011fi gibi \u00f6nbelle\u011fi b\u0131rak\u0131n.<\/p>\n<h3 id=\"parallel-libgfapi\"><span class=\"ez-toc-section\" id=\"paralel-libgfapi\"><\/span>paralel-libgfapi<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bu test Gluster performans\u0131n\u0131 libgfapi API kullanarak, FUSE&#8217;yi atlayarak uygular &#8211; hi\u00e7bir ba\u011flama noktas\u0131 kullan\u0131lmaz.\u00a0<a href=\"https:\/\/github.com\/bengland2\/parallel-libgfapi\" rel=\"nofollow noopener\" target=\"_blank\">Burada<\/a>\u00a0mevcut\u00a0.<\/p>\n<p>Bunu kullanmak i\u00e7in, parallel_gfapi_test.sh komut dosyas\u0131ndaki komut dosyas\u0131 parametrelerini d\u00fczenlersiniz &#8211; bunlar\u0131n t\u00fcm\u00fc &#8220;BU SATIRIN ALTINDA D\u00dcZENLENEB\u0130L\u0130R PARAMETRE YOK&#8221; yorumunun \u00fczerindedir.\u00a0Bunlar, Gluster birim ad\u0131, o birime hizmet veren bir ana bilgisayar, dosya say\u0131s\u0131 vb. gibi \u015feyleri i\u00e7erir. Ard\u0131ndan, gfapi_perf_test y\u00fcr\u00fct\u00fclebilir dosyas\u0131n\u0131n belirtilen dizindeki istemci makinelere da\u011f\u0131t\u0131ld\u0131\u011f\u0131ndan emin olun ve ard\u0131ndan komut dosyas\u0131n\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n.\u00a0Komut dosyas\u0131, t\u00fcm libgfapi i\u015f y\u00fck\u00fc olu\u015fturucu i\u015flemlerini, hepsi testi ayn\u0131 anda ba\u015flatacak \u015fekilde paralel olarak ba\u015flat\u0131r.\u00a0Hepsi tamamlanana kadar bekler ve ard\u0131ndan sonu\u00e7lar\u0131 sizin i\u00e7in toplar ve bir araya getirir.<\/p>\n<p>libgfapi s\u00fcre\u00e7lerinin par\u00e7a ba\u015f\u0131na bir soket t\u00fcketti\u011fine dikkat edin, bu nedenle y\u00fcksek par\u00e7a say\u0131s\u0131na sahip Gluster hacimlerinde, ayn\u0131 anda \u00e7al\u0131\u015fabilen libgfapi i\u015flemlerinin say\u0131s\u0131nda k\u0131s\u0131tlamalar olabilir.\u00a0Spesifik olarak, her ana bilgisayar yaln\u0131zca yakla\u015f\u0131k 30000 e\u015fzamanl\u0131 TCP ba\u011flant\u0131 noktas\u0131n\u0131 destekleyebilir.\u00a0&#8220;ulimit -n&#8221; parametresini ayarlaman\u0131z gerekebilir (kal\u0131c\u0131 ayar i\u00e7in \/etc\/security\/limits.conf &#8220;nofile&#8221; parametresine bak\u0131n).<\/p>\n<h3 id=\"object-store-tools\"><span class=\"ez-toc-section\" id=\"Nesne_Deposu_araclari\"><\/span>Nesne Deposu ara\u00e7lar\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><a href=\"http:\/\/www.snia.org\/sites\/default\/files\/files2\/files2\/SDC2013\/presentations\/Cloud\/YaguangWang__COSBench_Final.pdf\" rel=\"nofollow noopener\" target=\"_blank\">COSBench<\/a>\u00a0, Intel \u00e7al\u0131\u015fanlar\u0131 taraf\u0131ndan geli\u015ftirildi ve hem Swift hem de S3 i\u015f y\u00fck\u00fc \u00fcretimi i\u00e7in \u00e7ok kullan\u0131\u015fl\u0131.<\/p>\n<p><a href=\"https:\/\/pypi.python.org\/pypi\/ssbench\" rel=\"nofollow noopener\" target=\"_blank\">ssbench<\/a>\u00a0, OpenStack Swift ara\u00e7 setinin bir par\u00e7as\u0131d\u0131r ve i\u015f y\u00fck\u00fc tan\u0131m\u0131 dosya format\u0131na sahip komut sat\u0131r\u0131 arac\u0131d\u0131r.<\/p>\n<h2 id=\"workload\"><span class=\"ez-toc-section\" id=\"Is_yogunlugu\"><\/span>\u0130\u015f yo\u011funlu\u011fu<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Bir uygulama, baz\u0131 dosyalar\u0131 yazmak kadar basit olabilir veya Gluster&#8217;\u0131n \u00fczerinde bir bulut \u00e7al\u0131\u015ft\u0131rmak kadar karma\u015f\u0131k olabilir.\u00a0Ancak t\u00fcm uygulamalar\u0131n, kullan\u0131c\u0131lar fark\u0131nda olsun ya da olmas\u0131n, performans gereksinimleri vard\u0131r ve bu gereksinimler kar\u015f\u0131lanmazsa, sistem bir b\u00fct\u00fcn olarak kullan\u0131c\u0131 a\u00e7\u0131s\u0131ndan i\u015flevsel de\u011fildir.\u00a0Uygulaman\u0131n zaman\u0131n\u0131n \u00e7o\u011funu Gluster ile yapt\u0131\u011f\u0131 aktiviteler a\u015fa\u011f\u0131da &#8220;i\u015f y\u00fck\u00fc&#8221; olarak adland\u0131r\u0131lmaktad\u0131r.\u00a0Gluster dosya sistemi i\u00e7in &#8220;i\u015f y\u00fck\u00fc&#8221;, uygulama taraf\u0131ndan Gluster&#8217;a iletilen dosya sistemi isteklerinden olu\u015fur.\u00a0\u0130\u015f y\u00fck\u00fcne bakman\u0131n iki yolu vard\u0131r:<\/p>\n<ul>\n<li>yukar\u0131dan a\u015fa\u011f\u0131ya &#8211; dosya sisteminin yapmas\u0131n\u0131 sa\u011flamaya \u00e7al\u0131\u015fan uygulama nedir?<\/li>\n<li>a\u015fa\u011f\u0131dan yukar\u0131ya &#8211; uygulama asl\u0131nda dosya sistemine hangi istekleri \u00fcretiyor?<\/li>\n<\/ul>\n<h3 id=\"data-vs-metadata\"><span class=\"ez-toc-section\" id=\"Veri_vs_meta_veri\"><\/span>Veri vs meta veri<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bu sayfada s\u0131k s\u0131k &#8220;b\u00fcy\u00fck dosya&#8221; veya &#8220;k\u00fc\u00e7\u00fck dosya&#8221; i\u015f y\u00fcklerine at\u0131fta bulunuyoruz.\u00a0Ama &#8220;b\u00fcy\u00fck dosya&#8221; veya &#8220;k\u00fc\u00e7\u00fck dosya&#8221; terimleriyle ne demek istiyoruz?\u00a0&#8220;b\u00fcy\u00fck dosya&#8221;, uygulama zaman\u0131n\u0131n \u00e7o\u011funun dosyay\u0131 okumak\/yazmak i\u00e7in harcand\u0131\u011f\u0131 i\u015f y\u00fcklerini ifade eden, kasten belirsiz ancak a\u00e7\u0131klay\u0131c\u0131 bir terimdir.\u00a0Bu, uygulaman\u0131n zaman\u0131n\u0131n \u00e7o\u011funu dosyay\u0131 a\u00e7mak\/kapatmak veya dosyayla ilgili meta verilere eri\u015fmek i\u00e7in harcad\u0131\u011f\u0131 &#8220;k\u00fc\u00e7\u00fck dosya&#8221; i\u015f y\u00fck\u00fcn\u00fcn aksine.\u00a0Meta veri &#8220;veri hakk\u0131nda veri&#8221; anlam\u0131na gelir, bu nedenle dosyan\u0131n i\u00e7eri\u011finden ziyade dosyan\u0131n durumunu tan\u0131mlayan bilgidir.\u00a0\u00d6rne\u011fin, bir dosya ad\u0131, dizinler ve geni\u015fletilmi\u015f \u00f6znitelikler gibi bir meta veri t\u00fcr\u00fcd\u00fcr.<\/p>\n<h3 id=\"top-down-workload-analysis\"><span class=\"ez-toc-section\" id=\"Yukaridan_asagiya_is_yuku_analizi\"><\/span>Yukar\u0131dan a\u015fa\u011f\u0131ya i\u015f y\u00fck\u00fc analizi<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Genellikle kullan\u0131c\u0131lar\u0131n size bu konuda yard\u0131mc\u0131 olabilece\u011fi \u015fey budur &#8211; \u00f6rne\u011fin, bir i\u015f y\u00fck\u00fc bir milyar .mp3 dosyas\u0131n\u0131n al\u0131nmas\u0131ndan olu\u015fabilir.\u00a0Yan\u0131tlanmas\u0131 gereken tipik sorular (yakla\u015f\u0131k olarak):<\/p>\n<ul>\n<li>dosya boyutu da\u011f\u0131l\u0131m\u0131 nedir?\u00a0Ortalamalar genellikle yeterli de\u011fildir &#8211; dosya boyutu da\u011f\u0131l\u0131mlar\u0131 iki modlu olabilir (yani \u00e7o\u011funlukla \u00e7ok b\u00fcy\u00fck ve \u00e7ok k\u00fc\u00e7\u00fck dosya boyutlar\u0131ndan olu\u015fur).\u00a0TBS: Bunu toplayabilen komut dosyalar\u0131na i\u015faret\u00e7iler sa\u011flar.<\/li>\n<li>Dosya eri\u015fimlerinin ne kadar\u0131 okuma ve yazma i\u015flemleridir?<\/li>\n<li>i\u015f y\u00fck\u00fc ne kadar \u00f6nbellek dostu?\u00a0Ayn\u0131 dosyalar farkl\u0131 Gluster istemcileri taraf\u0131ndan veya bu istemcilerdeki farkl\u0131 i\u015flemler\/i\u015f par\u00e7ac\u0131\u011f\u0131 taraf\u0131ndan tekrar tekrar okunuyor mu?<\/li>\n<li>b\u00fcy\u00fck dosya i\u015f y\u00fckleri i\u00e7in, eri\u015fimlerin ne kadar\u0131 s\u0131ral\u0131\/rastgele?\u00a0S\u0131ral\u0131 dosya eri\u015fimi, uygulama i\u015f par\u00e7ac\u0131\u011f\u0131n\u0131n dosyay\u0131 ba\u015ftan sona bayt ofset s\u0131ras\u0131na g\u00f6re okudu\u011fu\/yazd\u0131\u011f\u0131 ve rastgele dosya eri\u015fiminin tam tersi oldu\u011fu anlam\u0131na gelir &#8211; i\u015f par\u00e7ac\u0131\u011f\u0131 herhangi bir zamanda herhangi bir ofsetten okuyabilir\/yazabilir.\u00a0Sanal makinenin dosya sistemi bir Gluster dosyas\u0131na g\u00f6m\u00fcl\u00fc oldu\u011fundan, sanal makine disk g\u00f6r\u00fcnt\u00fclerine genellikle rastgele eri\u015filir.<\/li>\n<\/ul>\n<p>Bu sorular neden \u00f6nemli?\u00a0\u00d6rne\u011fin, b\u00fcy\u00fck bir dosya s\u0131ral\u0131 okuma i\u015f y\u00fck\u00fcn\u00fcz varsa, a\u011f yap\u0131land\u0131rmas\u0131 + Gluster ve Linux okumas\u0131 \u00f6nemlidir.\u00a0K\u00fc\u00e7\u00fck bir dosya i\u015f y\u00fck\u00fcn\u00fcz varsa, depolama yap\u0131land\u0131rmas\u0131 \u00f6nemlidir vb.\u00a0\u0130\u015f y\u00fck\u00fcn\u00fc temel olarak anlamad\u0131\u011f\u0131n\u0131z s\u00fcrece Gluster i\u00e7in hangi ayar\u0131n uygun oldu\u011funu bilemezsiniz.<\/p>\n<h3 id=\"bottom-up-analysis\"><span class=\"ez-toc-section\" id=\"Asagidan_yukariya_analiz\"><\/span>A\u015fa\u011f\u0131dan yukar\u0131ya analiz<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Dosya sisteminin isteklerine hizmet etmesi a\u00e7\u0131s\u0131ndan karma\u015f\u0131k bir uygulama bile \u00e7ok basit bir i\u015f y\u00fck\u00fcne sahip olabilir.\u00a0Uygulaman\u0131z\u0131n zaman\u0131n\u0131 ne yaparak ge\u00e7irdi\u011fini bilmiyorsan\u0131z, &#8220;gluster volume profile&#8221; ve &#8220;gluster volume top&#8221; komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rarak ba\u015flayabilirsiniz.\u00a0Bu son derece kullan\u0131\u015fl\u0131 ara\u00e7lar, hem i\u015f y\u00fck\u00fcn\u00fc hem de bu i\u015f y\u00fck\u00fcn\u00fcn performans\u0131n\u0131 s\u0131n\u0131rlayan darbo\u011fazlar\u0131 anlaman\u0131za yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<p>TBS: Verileri kullan\u0131labilir forma indirgeyen bu ara\u00e7lar ve komut dosyalar\u0131 i\u00e7in belgelere ba\u011flant\u0131lar.<\/p>\n<h2 id=\"configuration\"><span class=\"ez-toc-section\" id=\"Yapilandirma\"><\/span>Yap\u0131land\u0131rma<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Bir Gluster sunucusunda, \u00f6nem s\u0131ras\u0131na g\u00f6re burada listelenen 4 temel donan\u0131m boyutu vard\u0131r:<\/p>\n<ul>\n<li>a\u011f &#8211; muhtemelen bir Gluster sitesinin en \u00f6nemli donan\u0131m bile\u015feni<\/li>\n<li>eri\u015fim protokol\u00fc &#8211; dosyalara\/nesnelere ula\u015fmak i\u00e7in ne t\u00fcr bir istemci kullan\u0131l\u0131yor?<\/li>\n<li>depolama &#8211; bu, hemen \u00f6ne ge\u00e7mek i\u00e7in kesinlikle \u00e7ok \u00f6nemlidir<\/li>\n<li>cpu &#8211; istemcide, s\u0131cak konular\u0131 aray\u0131n (a\u015fa\u011f\u0131ya bak\u0131n)<\/li>\n<li>bellek &#8211; okuma yo\u011fun, \u00f6nbelle\u011fe al\u0131nabilir i\u015f y\u00fcklerinin performans\u0131n\u0131 etkileyebilir<\/li>\n<\/ul>\n<h3 id=\"network-testing\"><span class=\"ez-toc-section\" id=\"Ag_Testi_icin_Netperf_Nasil_Kullanilir\"><\/span>A\u011f Testi i\u00e7in Netperf Nas\u0131l Kullan\u0131l\u0131r?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>A\u011f yap\u0131land\u0131rmas\u0131n\u0131n, da\u011f\u0131t\u0131lm\u0131\u015f depolaman\u0131n performans\u0131 \u00fczerinde b\u00fcy\u00fck bir etkisi vard\u0131r, ancak k\u00fcme ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fcn planlama ve kurulum a\u015famalar\u0131nda genellikle hak etti\u011fi dikkat g\u00f6sterilmez.\u00a0Neyse ki,\u00a0a\u011f yap\u0131land\u0131rmas\u0131\u00a0genellikle ek donan\u0131m olmadan \u00f6nemli \u00f6l\u00e7\u00fcde geli\u015ftirilebilir.<\/p>\n<p>A\u011f performans\u0131n\u0131 \u00f6l\u00e7mek i\u00e7in\u00a0<a href=\"http:\/\/www.cs.kent.edu\/~farrell\/dist\/ref\/Netperf.html\" rel=\"nofollow noopener\" target=\"_blank\">netperf tabanl\u0131<\/a>\u00a0bir komut dosyas\u0131 kullanmay\u0131 d\u00fc\u015f\u00fcn\u00fcn.<\/p>\n<p>Bu iki arac\u0131n amac\u0131, birden \u00e7ok a\u011f ba\u011flant\u0131s\u0131n\u0131 paralel olarak kullanarak, da\u011f\u0131t\u0131lm\u0131\u015f depolaman\u0131n neden oldu\u011fu istenen trafik d\u00fczeyini desteklemek i\u00e7in t\u00fcm a\u011f altyap\u0131n\u0131z\u0131n kapasitesini karakterize etmektir.\u00a0\u0130kinci komut dosyas\u0131, da\u011f\u0131t\u0131lm\u0131\u015f depolama i\u00e7in muhtemelen en ger\u00e7ek\u00e7i a\u011f i\u015f y\u00fck\u00fcd\u00fcr.<\/p>\n<p>Da\u011f\u0131t\u0131lm\u0131\u015f depolamay\u0131 etkileyen en yayg\u0131n iki donan\u0131m sorunu, \u015fa\u015f\u0131rt\u0131c\u0131 olmayan bir \u015fekilde, disk s\u00fcr\u00fcc\u00fcs\u00fc ar\u0131zalar\u0131 ve a\u011f ar\u0131zalar\u0131d\u0131r.\u00a0Bu hatalardan baz\u0131lar\u0131, sabit hatalara neden olmaz, bunun yerine performans\u0131n d\u00fc\u015fmesine neden olur.\u00a0\u00d6rne\u011fin, iki fiziksel a\u011f arabirimi i\u00e7eren ba\u011fl\u0131 bir a\u011f arabirimi ile, fiziksel arabirimlerden biri (NIC\/anahtar \u00fczerindeki ba\u011flant\u0131 noktas\u0131 veya kablo) ar\u0131zalan\u0131rsa, ba\u011fl\u0131 arabirim \u00e7al\u0131\u015fmaya devam eder, ancak daha az performansa sahip olur (ne kadar daha az? ba\u011flama moduna ba\u011fl\u0131d\u0131r).\u00a0Ba\u015fka bir hata, 10-GbE Ethernet arabiriminin h\u0131z\u0131 10-Gbps&#8217;ye otomatik olarak ayarlayamamas\u0131 olabilir &#8211; bazen a\u011f arabirimleri bunun yerine otomatik olarak 1-Gbps&#8217;ye ge\u00e7er.\u00a0TCP ba\u011flant\u0131s\u0131 y\u00fcksek oranda paket kayb\u0131 ya\u015f\u0131yorsa veya do\u011fru ayarlanmazsa, donan\u0131m taraf\u0131ndan desteklenen tam a\u011f h\u0131z\u0131na ula\u015famayabilir.<\/p>\n<p>\u00d6yleyse neden sadece bir tane yerine paralel netperf oturumlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131yorsunuz?\u00a0A\u011f topolojisi (ana bilgisayarlar\u0131n birbirine ba\u011flanma \u015fekli), \u00f6zellikle a\u011f anahtar\u0131 ve y\u00f6nlendirici topolojisi ile ilgili \u00e7e\u015fitli a\u011f performans sorunlar\u0131 vard\u0131r ve bunlar yaln\u0131zca birka\u00e7 ana bilgisayar \u00e7ifti ayn\u0131 payla\u015f\u0131lan kaynak \u00fczerinden trafik iletmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131nda ortaya \u00e7\u0131kar. \u00f6rne\u011fin, raf \u00fcst\u00fc anahtarlar\u0131 birbirine ba\u011flayan bir ana hat veya arka paneli de\u011fi\u015ftirmek i\u00e7in yetersiz bant geni\u015fli\u011fine sahip blade tabanl\u0131 bir anahtar olabilir.\u00a0Bireysel netperf\/iperf oturumlar\u0131 bu sorunlar\u0131 bulamaz, ancak bu komut dosyas\u0131 bulur.<\/p>\n<p>Bu test, \u00f6rne\u011fin da\u011f\u0131t\u0131lm\u0131\u015f bir dosya sistemi arac\u0131l\u0131\u011f\u0131yla veri ak\u0131\u015f\u0131n\u0131 sim\u00fcle etmek i\u00e7in kullan\u0131labilir.\u00a04 Gluster istemcisini sim\u00fcle etmek istiyorsan\u0131z, onlar\u0131 c1&#8217;den c4&#8217;e kadar aray\u0131n, b\u00fcy\u00fck dosyalar\u0131 2 sunucu k\u00fcmesine yaz\u0131n, s1 ve s2 olarak adland\u0131r\u0131n, \u015fu (g\u00f6nderen, al\u0131c\u0131) \u00e7iftlerini belirleyebilirsiniz:<\/p>\n<pre id=\"__code_9\"><button class=\"md-clipboard md-icon\" style=\"box-sizing: inherit; -webkit-tap-highlight-color: transparent; background: transparent; border: 0px; font-family: inherit; font-size: inherit; margin: 0px; padding: 0px; border-radius: 0.1rem; color: var(--md-default-fg-color--lightest); cursor: pointer; height: 1.5em; outline: none; outline-offset: 0.1rem; position: absolute; right: 0.5em; top: 0.5em; transition: color 0.25s ease 0s; width: 1.5em; z-index: 1;\" title=\"Copy to clipboard\" data-clipboard-target=\"#__code_9 &gt; code\"><\/button><code>    (c1,s1),\u00a0(c2,\u00a0s2),\u00a0(c3,\u00a0s1),\u00a0(c4,\u00a0s2)\r\n<\/code><\/pre>\n<p>\u00d6te yandan, okumalar\u0131 sim\u00fcle etmek istiyorsan\u0131z, bu (g\u00f6nderen, al\u0131c\u0131) \u00e7iftlerini kullanabilirsiniz:<\/p>\n<pre id=\"__code_10\"><button class=\"md-clipboard md-icon\" style=\"box-sizing: inherit; -webkit-tap-highlight-color: transparent; background: transparent; border: 0px; font-family: inherit; font-size: inherit; margin: 0px; padding: 0px; border-radius: 0.1rem; color: var(--md-default-fg-color--lightest); cursor: pointer; height: 1.5em; outline: none; outline-offset: 0.1rem; position: absolute; right: 0.5em; top: 0.5em; transition: color 0.25s ease 0s; width: 1.5em; z-index: 1;\" title=\"Copy to clipboard\" data-clipboard-target=\"#__code_10 &gt; code\"><\/button><code>    (s1,\u00a0c1),\u00a0(s2,\u00a0c2),\u00a0(s1,\u00a0c3),\u00a0(s2,\u00a0c4)\r\n<\/code><\/pre>\n<p>Kar\u0131\u015f\u0131k bir okuma-yazma i\u015f y\u00fck\u00fcn\u00fc sim\u00fcle etmek i\u00e7in her iki \u00e7ift k\u00fcmesini kullan\u0131n:<\/p>\n<pre id=\"__code_11\"><button class=\"md-clipboard md-icon\" style=\"box-sizing: inherit; -webkit-tap-highlight-color: transparent; background: transparent; border: 0px; font-family: inherit; font-size: inherit; margin: 0px; padding: 0px; border-radius: 0.1rem; color: var(--md-default-fg-color--lightest); cursor: pointer; height: 1.5em; outline: none; outline-offset: 0.1rem; position: absolute; right: 0.5em; top: 0.5em; transition: color 0.25s ease 0s; width: 1.5em; z-index: 1;\" title=\"Copy to clipboard\" data-clipboard-target=\"#__code_11 &gt; code\"><\/button><code tabindex=\"0\">    (c1,s1),\u00a0(c2,\u00a0s2),\u00a0(c3,\u00a0s1),\u00a0(c4,\u00a0s2),\u00a0(s1,\u00a0c1),\u00a0(s2,\u00a0c2),\u00a0(s1,\u00a0c3),\u00a0(s2,\u00a0c4)\r\n<\/code><\/pre>\n<p>Daha karma\u015f\u0131k ak\u0131\u015flar, bir k\u00fcme d\u00fc\u011f\u00fcm\u00fcn\u00fcn bir <a href=\"https:\/\/sunucucozumleri.com\/blog\/073-proxy-nedir-proxy-nasil-kullanilabilir\/\">proxy<\/a> sunucusu gibi davrand\u0131\u011f\u0131 yerel olmayan protokollerin davran\u0131\u015f\u0131n\u0131 modelleyebilir; bu, bir sunucu (yerel olmayan protokol i\u00e7in) ve bir istemcidir (yerel protokol i\u00e7in).\u00a0\u00d6rne\u011fin, bu t\u00fcr protokoller genellikle, a\u011f\u0131 tek y\u00f6nl\u00fc giri\u015f\/\u00e7\u0131k\u0131\u015f trafi\u011finden farkl\u0131 \u015fekilde zorlayabilen tam \u00e7ift y\u00f6nl\u00fc trafi\u011fi tetikler.\u00a0\u00d6rne\u011fin, bu ak\u0131\u015f k\u00fcmesini \u00f6nceki ak\u0131\u015fa eklemeyi deneyin:<\/p>\n<pre id=\"__code_12\"><button class=\"md-clipboard md-icon\" style=\"box-sizing: inherit; -webkit-tap-highlight-color: transparent; background: transparent; border: 0px; font-family: inherit; font-size: inherit; margin: 0px; padding: 0px; border-radius: 0.1rem; color: var(--md-default-fg-color--lightest); cursor: pointer; height: 1.5em; outline: none; outline-offset: 0.1rem; position: absolute; right: 0.5em; top: 0.5em; transition: color 0.25s ease 0s; width: 1.5em; z-index: 1;\" title=\"Copy to clipboard\" data-clipboard-target=\"#__code_12 &gt; code\"><\/button><code>    (s1, s2),.(s2, s3),.(s3, s4),.(s4, s1)\r\n<\/code><\/pre>\n<p>Komut dosyas\u0131n\u0131n \u00fcst k\u0131sm\u0131ndaki yorumlar, giri\u015f s\u00f6zdizimini a\u00e7\u0131klar, ancak burada en iyi \u015fekilde nas\u0131l kullan\u0131laca\u011f\u0131na dair baz\u0131 \u00f6neriler.\u00a0Bu komut dosyas\u0131n\u0131 genellikle, test edilen makine grubuna parolas\u0131z ssh eri\u015fimi olan bir ana d\u00fc\u011f\u00fcmden veya test s\u00fcr\u00fcc\u00fcs\u00fcnden \u00e7al\u0131\u015ft\u0131r\u0131rs\u0131n\u0131z.\u00a0Testi \u00e7al\u0131\u015ft\u0131ran ana bilgisayarlar\u0131n birbirlerine ssh eri\u015fimine ihtiyac\u0131 yoktur &#8211; yaln\u0131zca ana d\u00fc\u011f\u00fcmden parolas\u0131z ssh eri\u015fimine izin vermeleri gerekir.\u00a0Komut dosyas\u0131 k\u00f6k ayr\u0131cal\u0131klar\u0131na dayanmaz, bu nedenle onu k\u00f6k olmayan bir hesaptan \u00e7al\u0131\u015ft\u0131rabilirsiniz.\u00a0Do\u011fru hesapta (genellikle \\$HOME\/.ssh\/id_rsa.pub i\u00e7inde) ba\u015f d\u00fc\u011f\u00fcmde bir genel anahtar olu\u015fturun ve ard\u0131ndan bu ortak anahtar\u0131, teste kat\u0131lan her ana bilgisayarda \\$HOME\/.ssh\/authorized_keys \u00f6\u011fesine ekleyin.<\/p>\n<p>G\u00f6ndericileri ve al\u0131c\u0131lar\u0131, sat\u0131r ba\u015f\u0131na 1 ana bilgisayar olmak \u00fczere ayr\u0131 metin dosyalar\u0131 kullanarak giriyoruz.\u00a0\u00c7ift i\u00e7in (g\u00f6nderen[j], al\u0131c\u0131[j]), g\u00f6nderici dosyas\u0131ndaki j sat\u0131r\u0131ndan g\u00f6nderici[j] ve al\u0131c\u0131 dosyas\u0131ndaki j sat\u0131r\u0131ndan al\u0131c\u0131[j] al\u0131rs\u0131n\u0131z.\u00a0Test etmek istedi\u011finiz arabirime kar\u015f\u0131l\u0131k gelen IP adresini\/ad\u0131n\u0131 kullanman\u0131z ve bu arabirimi kullanarak ana d\u00fc\u011f\u00fcmden her ana bilgisayara ssh yapabilmeniz gerekir.<\/p>\n<h2 id=\"results\"><span class=\"ez-toc-section\" id=\"Sonuclar\"><\/span>Sonu\u00e7lar<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u00d6nem s\u0131ras\u0131na g\u00f6re de\u011fil, 3 temel performans sonucu bi\u00e7imi vard\u0131r:<\/p>\n<ul>\n<li>\u00e7\u0131kt\u0131 &#8212; Birim zamanda ne kadar i\u015f yap\u0131l\u0131r?\u00a0En iyi \u00f6l\u00e7\u00fcmler genellikle i\u015f y\u00fck\u00fcne ba\u011fl\u0131d\u0131r:<\/li>\n<li>b\u00fcy\u00fck dosya rastgele i\u00e7in: IOPS<\/li>\n<li>b\u00fcy\u00fck dosya s\u0131ras\u0131 i\u00e7in: MB\/sn<\/li>\n<li>k\u00fc\u00e7\u00fck dosya i\u00e7in: dosyalar\/sn<\/li>\n<li>yan\u0131t s\u00fcresi &#8212; \u00d6NEML\u0130, dosya sistemi iste\u011finin tamamlanmas\u0131 ne kadar s\u00fcrer?<\/li>\n<li>kullan\u0131m &#8212; i\u015f y\u00fck\u00fc \u00e7al\u0131\u015f\u0131rken donan\u0131m ne kadar me\u015fgul?<\/li>\n<li>\u00f6l\u00e7eklenebilirlik &#8212; bir Gluster birimine sunucu eklerken yan\u0131t s\u00fcresinden \u00f6d\u00fcn vermeden verimi do\u011frusal olarak \u00f6l\u00e7eklendirebilir miyiz?<\/li>\n<\/ul>\n<p>Tipik olarak aktar\u0131m h\u0131z\u0131 sonu\u00e7lar\u0131 en \u00e7ok dikkati \u00e7eker, ancak da\u011f\u0131t\u0131lm\u0131\u015f depolama ortam\u0131nda ula\u015f\u0131lmas\u0131 en zor hedef aktar\u0131m h\u0131z\u0131 de\u011fil, S\u00dcREKL\u0130 D\u00dc\u015e\u00dcK YANIT S\u00dcRES\u0130 olabilir.<\/p>\n<p>Yan\u0131t s\u00fcresinin o kadar \u00f6nemli olmad\u0131\u011f\u0131 etkile\u015fimli olmayan i\u015f y\u00fckleri olsa da, bir kullan\u0131c\u0131n\u0131n dosya sistemiyle do\u011frudan etkile\u015fime girmesi gereken her durumda yan\u0131t s\u00fcresine dikkat etmelisiniz.\u00a0Dosya sistemini mutlak en y\u00fcksek verimi elde edecek \u015fekilde ayarlamak, y\u00fcksek yan\u0131t s\u00fcresi nedeniyle kullan\u0131lamaz olan bir dosya sistemiyle sonu\u00e7lanabilir.\u00a0Bir k\u0131yaslama durumunda de\u011filseniz, iyi bir \u00e7\u0131kt\u0131 ve yan\u0131t s\u00fcresi dengesi elde etmek istersiniz.\u00a0Tipik olarak etkile\u015fimli bir kullan\u0131c\u0131, \u00e7o\u011fu yan\u0131t s\u00fcresi bundan \u00e7ok daha d\u00fc\u015f\u00fck olmak \u00fczere, her zaman 5 saniyenin alt\u0131nda bir yan\u0131t s\u00fcresi g\u00f6rmek ister.\u00a0Yan\u0131t s\u00fcrelerini kontrol alt\u0131nda tutmak i\u00e7in (sistem y\u00f6netimi dahil!), herhangi bir donan\u0131m bile\u015feninin maksimum kullan\u0131mda \u00e7al\u0131\u015fmas\u0131n\u0131 istemezsiniz, tipik olarak %60-80 kullan\u0131m, iyi bir tepe kullan\u0131m hedefidir.\u00a0\u00d6te yandan, donan\u0131m israf\u0131n\u0131 \u00f6nlemek i\u00e7in,<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bir GlusterFS birimi olu\u015fturduktan sonra, uygulaman\u0131z i\u00e7in yeterli performansa sahip oldu\u011funu do\u011frulaman\u0131z gerekir ve de\u011filse, sorunun temel nedenini yal\u0131tmak i\u00e7in bir yola ihtiyac\u0131n\u0131z vard\u0131r. \u0130ki t\u00fcr i\u015f y\u00fck\u00fc vard\u0131r: sentetik &#8211; a\u015fa\u011f\u0131dakiler gibi bir test program\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n uygulama &#8211; mevcut uygulamay\u0131 \u00e7al\u0131\u015ft\u0131r Profil olu\u015fturma ara\u00e7lar\u0131 \u0130deal olarak, Gluster&#8217;da \u00e7al\u0131\u015ft\u0131rmak istedi\u011finiz as\u0131l uygulamay\u0131 kullanmak en iyisidir, &hellip;<\/p>\n","protected":false},"author":1,"featured_media":1869,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-1867","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux"],"acf":[],"_links":{"self":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts\/1867","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/comments?post=1867"}],"version-history":[{"count":0,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts\/1867\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/media\/1869"}],"wp:attachment":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/media?parent=1867"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/categories?post=1867"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/tags?post=1867"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}