# Sukatin ang performance ng NVMe nang hindi nililinlang ang sarili | SwissOctet Insights https://swissoctet.com/fil/insights/nvme-benchmark-methodology/ SwissOctet / Mga Insight / Imbakan at pagbawi Imbakan at pagbawi Advanced · 6 min na pagbabasa Sukatin ang performance ng NVMe nang hindi nililinlang ang sarili Tukuyin ang I/O pattern, kontrolin ang cache effect at suriin ang latency distribution bago gumawa ng konklusyon sa application mula sa disk test. Ni SwissOctet Editorial I-save ang gabay Kopyahin ang link SA PAHINANG ITO 01 Magsimula sa tanong tungkol sa imbakan, hindi sa iskor 02 Ilarawan ang workload sa mga terminong maaaring ulitin 03 Kontrolin ang caching nang hindi ipinagpapalagay na hindi ito mahalaga 04 Basahin ang mga latency tail kasama ng throughput 05 Panatilihing awtorisado at hindi nakakasira ang pagsubok 06 Isara ang loop gamit ang ebidensya mula sa application Ang iyong praktikal na checklist Mga pinagmulan at karagdagang babasahin Bumalik sa library ANG DIREKTANG SAGOT Ang isang kapaki-pakinabang na pagsubok sa imbakan ay tumutugma sa laki ng operasyon, pattern ng access, concurrency at mga kinakailangan sa durability ng application. Itala ang mga kondisyon ng pagsubok at distribusyon ng latency, pagkatapos ay kumpirmahin ang resulta gamit ang mga pagsukat ng application. 01 Magsimula sa tanong tungkol sa imbakan, hindi sa iskor Magpasya kung ano ang kailangan mong malaman bago magpatakbo ng benchmark. Maaaring iniimbestigahan mo ang mabagal na database commits, throughput ng file-distribution o isang build process na lumilikha ng maraming maliliit na file. Ang mga workload na iyon ay hindi humihingi ng parehong bagay sa disk. Ang isang malaking sequential copy ay maaaring magmukhang kahanga-hanga habang kakaunti ang sinasabi tungkol sa pagkaantala na nararanasan ng isang serbisyong gumagawa ng maliliit na random reads. Dinisenyo ang NVMe para sa non-volatile media at mahusay na parallel I/O, ngunit ang pangalan ng protocol nito ay hindi naglalarawan sa bawat bahagi ng isang naka-host na storage path. Mahalaga pa rin ang virtualisation, file system, resource contention at application. Sumulat ng test hypothesis tulad ng kung ang storage latency ay nagpapabagal sa isang partikular na operasyon, sa halip na subukang gumawa ng numero na nagpapatunay na mabilis ang buong server. 02 Ilarawan ang workload sa mga terminong maaaring ulitin Itala ang laki ng operasyon, sequential o random na pattern, read-to-write mix, bilang ng mga job at queue depth. Isama ang laki ng dataset at tagal ng pagsubok. Ipinaliwanag ng dokumentasyon ng fio ang mga kontrol na ito sa workload at ang mga available na I/O engine. Ang inilaan na depth ay maaaring hindi makamit ng bawat engine o setup, kaya basahin ang iniulat na pag-uugali pati na rin ang configuration na hiniling mo. Panatilihin ang isang kopya ng paglalarawan ng pagsubok sa tabi ng resulta. Itala ang operating system, file system, mount options, aktibidad ng serbisyo at available na kapasidad. Kung ihahambing mo ang mga configuration, baguhin ang isang kaugnay na kondisyon sa isang pagkakataon. Ang isang pagsubok na may ibang pattern ng access o concurrency ay hindi makatarungang maiharap na parang ang storage medium lamang ang nagbago. Pattern ng application Dimensyon ng pagsubok na ilalarawan Resultang susuriin Paghahatid ng malaking file Sequential reads at sabay-sabay na client Patuloy na throughput at paggamit ng CPU Paghahanap ng talaan Maliliit na random reads at representatibong concurrency Distribusyon ng latency at mga natapos na operasyon Matibay na transaksyon Mga kinakailangan sa write at synchronisation Pagkaantala na may kaugnayan sa commit, hindi lamang bilis ng buffered write Build o extraction Pinaghalong maliliit na operasyon sa file Tagal ng end-to-end na job at I/O waits 03 Kontrolin ang caching nang hindi ipinagpapalagay na hindi ito mahalaga Ang isang dataset na kasya sa memory ay maaaring sumukat lamang ng pag-uugali ng cache pagkatapos ng unang pass. Maaaring kapaki-pakinabang ito kung ang application ay karaniwang nakikinabang sa parehong cache, ngunit hindi ito dapat tawaging raw device performance. Sadyang piliin kung sinusuri ng pagsubok ang isang warm application path, isang mas malamig na dataset o isang I/O mode na naglalayong bawasan ang buffering effect ng operating system. Ang suporta at alignment ng direct-I/O ay nakasalalay sa platform at engine. Hindi rin nito awtomatikong naipapahayag ang mga kinakailangan sa durability ng application o inaalis ang bawat cache sa stack. Ipahayag nang malinaw ang napiling mode, at iwasang ihambing ang isang buffered test sa isang unbuffered test na parang kumakatawan sila sa parehong gawain. Panatilihing hiwalay ang warm-up at mga sinusukat na agwat kung nakakatulong ito sa interpretasyon. 04 Basahin ang mga latency tail kasama ng throughput Ang average latency ay maaaring magtago ng mabagal na operasyon na nakakaapekto sa tunay na mga kahilingan. Suriin ang iniulat na mga percentile at ang bilang ng mga sample sa likod ng mga ito. Ang isang mataas na percentile ay naglalarawan sa hangganan kung saan bumaba ang isang nakasaad na bahagi ng mga naobserbahang operasyon sa panahon ng pagsubok na iyon; hindi ito isang permanenteng garantiya ng serbisyo. Ang maikli o hindi representatibong mga run ay nagbibigay ng limitadong ebidensya tungkol sa abalang panahon ng produksyon. Ang mas mataas na queue depth ay maaaring mapabuti ang natapos na throughput habang pinapataas ang oras ng paghihintay. Ang trade-off na iyon ay maaaring umangkop sa batch processing at makasama sa isang interactive na serbisyo. Ihambing ang mga resulta sa concurrency na kahawig ng application, at subaybayan ang CPU at I/O pressure nang sabay. Huminto bago ang pagsubok ay lumikha ng hindi kinakailangang pagkagambala para sa ibang workload na gumagamit ng parehong kapaligiran. 05 Panatilihing awtorisado at hindi nakakasira ang pagsubok Gumamit ng nakalaang test directory o isang inihandang disposable volume, na may sapat na libreng espasyo at malinaw na plano sa paglilinis. Huwag kailanman itutok ang isang write benchmark sa isang hindi na-verify na raw device o production dataset. Suriin ang target at write behaviour ng tool bago magsimula, at magsimula sa isang limitadong run. Ang synthetic I/O ay maaaring kumonsumo ng kapasidad at makagambala sa mga serbisyo kahit hindi nito nao-overwrite ang mga kapaki-pakinabang na file. Para sa isang production-like na pagsusuri, sumang-ayon sa isang maintenance window at panatilihin ang application monitoring. Gumamit ng fabricated data kung posible. Huwag ipahiwatig ang storage reliability mula sa isang speed test: ang mga integrity check, backup at restoration ay magkaibang gawain. Ang isang device na nakakumpleto ng benchmark ay nangangailangan pa rin ng recovery strategy para sa pagtanggal, mga pagkakamali sa software o pagkawala ng makina. 06 Isara ang loop gamit ang ebidensya mula sa application Ipagpalagay na ang isang report service ay gumugugol ng malaking bahagi ng oras nito sa paghihintay ng random reads. Sinusubukan ng team ang isang representatibong read pattern, pagkatapos ay inuulit ang aktwal na report laban sa maihahambing na data. Kung bumubuti ang report habang nananatiling stable ang iba pang gawain nito, sinusuportahan ng resulta ang storage hypothesis. Kung hindi, imbestigahan ang query design, memory o ibang dependency sa halip na ulitin ang mas malawak na synthetic tests. Ang Pulse NVMe at mga piling dedicated configuration ay naglilista ng NVMe storage sa SwissOctet catalogue. Ang kanilang mga label ay mga detalye, hindi mga na-publish na application benchmark. Gumamit ng kontroladong paraan upang suriin ang naihatid na kapaligiran at panatilihin ang mga kondisyon kasama ng mga natuklasan. Nagiging mas matibay ang desisyon kapag ang pagsukat ng storage at ang resulta na nakikita ng user ay sumasagot sa parehong tanong. GAWIN ITONG AKSYON Ang iyong praktikal na checklist. ✓ Tukuyin muna ang tanong ng application. ✓ Itala ang pattern, block size, concurrency at tagal. ✓ Ipahayag ang mga pagpapalagay sa cache at I/O-mode. ✓ Suriin ang mga latency percentile pati na rin ang throughput. ✓ Gumamit ng na-verify na disposable target at limitadong paunang load. ✓ Kumpirmahin ang natuklasan gamit ang isang pagsubok sa application. I-download ang checklist MGA KARANIWANG TANONG Ang mga detalyeng mahalaga. Sapat na ba ang isang sequential copy upang ihambing ang database storage? + Karaniwang hindi. Ang pag-access sa database ay maaaring may kasamang maliliit na random reads, writes at synchronisation. I-modelo ang kaugnay na pattern at i-verify ang aktwal na application. Pinapatunayan ba ng direct I/O ang matibay na writes? + Hindi. Ang buffering at durability ay magkaibang usapin. Itugma ang pag-uugali ng synchronisation na kinakailangan ng application. Maaari ko bang i-publish ang isang pagsubok bilang garantisadong bilis ng plano? + Hindi. I-publish ang mga kondisyon at saklaw nito. Ang sinusukat na resulta mula sa isang run ay hindi isang service-level o garantisadong performance sa hinaharap. MGA PANGUNAHING SANGGUNIAN Pumunta sa pinagmulan. Sinusuportahan ng mga sangguniang ito ang mga teknikal na konsepto sa gabay na ito. Sundin ang kasalukuyang dokumentasyon bago baguhin ang isang production system. fio: Dokumentasyon ng flexible I/O tester fio.readthedocs.io NVM Express: Pangkalahatang-tanaw ng specification at FAQ nvmexpress.org Linux kernel: Pressure Stall Information docs.kernel.org Editorial guidance ni SwissOctet. Ang mga halimbawa ay ilustratibo. Ang service specifications, available options at contractual conditions ay dapat beripikahin nang hiwalay. IKONEKTA ANG KAALAMAN Kaugnay na infrastructure. Pulse NVMe Switzerland Metal Hyper Switzerland Metal EPYC Switzerland PANATILIHIN ANG SINULID Ang iyong susunod na field notes. Tuklasin ang bawat gabay TALA SA PRAKTIKA / 01 + Imbakan at pagbawi Pundasyon Kung kailan may pagkakaiba ang NVMe sa iyong application Ibahin ang capacity, latency at throughput upang ang mas mabilis na storage label ay sumagot sa tunay na problema ng application. 4 minutong pagbasa Basahin ang gabay TALA SA PRAKTIKA / 02 + Imbakan at pagbawi Praktikal Mga snapshot at backup: piliin ang failure na kailangang malampasan Ihambing ang mga recovery point, failure boundary at consistency ng application sa halip na ipagpalagay na ang snapshot at independiyenteng backup ay nagbibigay ng parehong proteksyon. 4 minutong pagbasa Basahin ang gabay TALA SA PRAKTIKA / 03 + Imbakan at pagbawi Pundasyon Object, file o block storage: piliin ang interface na kailangan ng iyong aplikasyon Ibahin ang mga interface ng imbakan, semantika ng access at mga responsibilidad sa pagpapatakbo bago gawing arkitektura ng aplikasyon ang isang kinakailangan sa kapasidad. 4 minutong pagbasa Basahin ang gabay