{"id":36755,"date":"2025-12-16T09:18:21","date_gmt":"2025-12-16T02:18:21","guid":{"rendered":"https:\/\/interdata.vn\/blog\/?p=36755"},"modified":"2025-12-16T10:44:37","modified_gmt":"2025-12-16T03:44:37","slug":"tai-sao-nvme-u-2-toc-do-cao-ma-lenh-dd-trong-linux-lai-do-duoc-ket-qua-thap","status":"publish","type":"post","link":"https:\/\/interdata.vn\/blog\/tai-sao-nvme-u-2-toc-do-cao-ma-lenh-dd-trong-linux-lai-do-duoc-ket-qua-thap\/","title":{"rendered":"T\u1ea1i Sao NVMe U.2 T\u1ed1c \u0110\u1ed9 Cao M\u00e0 L\u1ec7nh dd Trong Linux L\u1ea1i \u0110o \u0110\u01b0\u1ee3c K\u1ebft Qu\u1ea3 Th\u1ea5p?"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">N\u1ed8I DUNG<\/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=\"Toggle Table of Content\"><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 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/interdata.vn\/blog\/tai-sao-nvme-u-2-toc-do-cao-ma-lenh-dd-trong-linux-lai-do-duoc-ket-qua-thap\/#Lenh-dd-va-Phuong-Phap-Do-Toc-Do-Co-Ban\" >L\u1ec7nh dd v\u00e0 Ph\u01b0\u01a1ng Ph\u00e1p \u0110o T\u1ed1c \u0110\u1ed9 C\u01a1 B\u1ea3n<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/interdata.vn\/blog\/tai-sao-nvme-u-2-toc-do-cao-ma-lenh-dd-trong-linux-lai-do-duoc-ket-qua-thap\/#Lenh-dd-la-gi\" >L\u1ec7nh dd l\u00e0 g\u00ec?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/interdata.vn\/blog\/tai-sao-nvme-u-2-toc-do-cao-ma-lenh-dd-trong-linux-lai-do-duoc-ket-qua-thap\/#Cac-tham-so-thuong-dung-cua-dd\" >C\u00e1c tham s\u1ed1 th\u01b0\u1eddng d\u00f9ng c\u1ee7a dd<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/interdata.vn\/blog\/tai-sao-nvme-u-2-toc-do-cao-ma-lenh-dd-trong-linux-lai-do-duoc-ket-qua-thap\/#Phuong-phap-do-dd-tai-Tocdoio-Test-3-lan\" >Ph\u01b0\u01a1ng ph\u00e1p \u0111o dd t\u1ea1i Tocdo.io (Test 3 l\u1ea7n)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/interdata.vn\/blog\/tai-sao-nvme-u-2-toc-do-cao-ma-lenh-dd-trong-linux-lai-do-duoc-ket-qua-thap\/#Vi-Du-Thuc-Te-Cua-VPS-Ma-InterData-Dang-Cung-Cap\" >V\u00ed D\u1ee5 Th\u1ef1c T\u1ebf C\u1ee7a VPS M\u00e0 InterData \u0110ang Cung C\u1ea5p<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/interdata.vn\/blog\/tai-sao-nvme-u-2-toc-do-cao-ma-lenh-dd-trong-linux-lai-do-duoc-ket-qua-thap\/#Mot-so-hinh-anh-thuc-te-Test-tren-VPS-cua-InterData\" >M\u1ed9t s\u1ed1 h\u00ecnh \u1ea3nh th\u1ef1c t\u1ebf: Test tr\u00ean VPS c\u1ee7a InterData<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/interdata.vn\/blog\/tai-sao-nvme-u-2-toc-do-cao-ma-lenh-dd-trong-linux-lai-do-duoc-ket-qua-thap\/#6-Ly-Do-Khien-Toc-Do-dd-Thap-Hon-Thuc-Te-Cua-NVMe\" >6 L\u00fd Do Khi\u1ebfn T\u1ed1c \u0110\u1ed9 dd Th\u1ea5p H\u01a1n Th\u1ef1c T\u1ebf C\u1ee7a NVMe<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/interdata.vn\/blog\/tai-sao-nvme-u-2-toc-do-cao-ma-lenh-dd-trong-linux-lai-do-duoc-ket-qua-thap\/#1-Lenh-dd-chi-do-1-luong-docghi-tuan-tu-Single-Threaded-Sequential-IO\" >1. L\u1ec7nh dd ch\u1ec9 \u0111o 1 lu\u1ed3ng \u0111\u1ecdc\/ghi tu\u1ea7n t\u1ef1 (Single-Threaded Sequential I\/O)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/interdata.vn\/blog\/tai-sao-nvme-u-2-toc-do-cao-ma-lenh-dd-trong-linux-lai-do-duoc-ket-qua-thap\/#2-Toc-do-quang-cao-la-Sequential-tren-nhieu-Queue-Depth-QD32QD64\" >2. T\u1ed1c \u0111\u1ed9 qu\u1ea3ng c\u00e1o l\u00e0 Sequential tr\u00ean nhi\u1ec1u Queue Depth (QD32\/QD64)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/interdata.vn\/blog\/tai-sao-nvme-u-2-toc-do-cao-ma-lenh-dd-trong-linux-lai-do-duoc-ket-qua-thap\/#3-dd-bi-anh-huong-boi-Cache-va-Kernel-Linux\" >3. dd b\u1ecb \u1ea3nh h\u01b0\u1edfng b\u1edfi Cache v\u00e0 Kernel Linux<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/interdata.vn\/blog\/tai-sao-nvme-u-2-toc-do-cao-ma-lenh-dd-trong-linux-lai-do-duoc-ket-qua-thap\/#4-NVMe-U2-Enterprise-toi-uu-Random-IOPS-khong-phai-Sequential-Speed\" >4. NVMe U.2 (Enterprise) t\u1ed1i \u01b0u Random IOPS, kh\u00f4ng ph\u1ea3i Sequential Speed<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/interdata.vn\/blog\/tai-sao-nvme-u-2-toc-do-cao-ma-lenh-dd-trong-linux-lai-do-duoc-ket-qua-thap\/#5-dd-khong-he-do-duoc-%E2%80%9CToc-do-that%E2%80%9D-cua-NVMe\" >5. dd kh\u00f4ng h\u1ec1 \u0111o \u0111\u01b0\u1ee3c &#8220;T\u1ed1c \u0111\u1ed9 th\u1eadt&#8221; c\u1ee7a NVMe<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/interdata.vn\/blog\/tai-sao-nvme-u-2-toc-do-cao-ma-lenh-dd-trong-linux-lai-do-duoc-ket-qua-thap\/#6-Toc-do-ghi-quang-cao-thuong-la-%E2%80%9CSLC-Cache-Speed%E2%80%9D\" >6. T\u1ed1c \u0111\u1ed9 ghi qu\u1ea3ng c\u00e1o th\u01b0\u1eddng l\u00e0 &#8220;SLC Cache Speed&#8221;<\/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:\/\/interdata.vn\/blog\/tai-sao-nvme-u-2-toc-do-cao-ma-lenh-dd-trong-linux-lai-do-duoc-ket-qua-thap\/#Giai-Phap-Su-Dung-Cong-Cu-fio-de-Do-Toc-Do-Thuc-Te\" >Gi\u1ea3i Ph\u00e1p: S\u1eed D\u1ee5ng C\u00f4ng C\u1ee5 fio \u0111\u1ec3 \u0110o T\u1ed1c \u0110\u1ed9 Th\u1ef1c T\u1ebf<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/interdata.vn\/blog\/tai-sao-nvme-u-2-toc-do-cao-ma-lenh-dd-trong-linux-lai-do-duoc-ket-qua-thap\/#Ket-luan\" >K\u1ebft lu\u1eadn<\/a><\/li><\/ul><\/nav><\/div>\n<p class=\"sapo\">B\u1ea1n v\u1eeba \u0111\u0103ng k\u00fd m\u1ed9t g\u00f3i VPS cao c\u1ea5p s\u1eed d\u1ee5ng \u1ed5 c\u1ee9ng NVMe U.2 Enterprise. B\u1ea1n h\u00e1o h\u1ee9c ki\u1ec3m tra t\u1ed1c \u0111\u1ed9 b\u1eb1ng l\u1ec7nh <code>dd<\/code> quen thu\u1ed9c v\u00e0 nh\u1eadn l\u1ea1i m\u1ed9t k\u1ebft qu\u1ea3 th\u1ea5p \u0111\u1ebfn m\u1ee9c kh\u00f3 hi\u1ec3u. Li\u1ec7u nh\u00e0 cung c\u1ea5p c\u00f3 \u0111ang &#8220;treo \u0111\u1ea7u d\u00ea b\u00e1n th\u1ecbt ch\u00f3&#8221;? Khoan h\u00e3y v\u1ed9i k\u1ebft lu\u1eadn. Th\u1ef1c t\u1ebf, vi\u1ec7c s\u1eed d\u1ee5ng <code>dd<\/code> \u0111\u1ec3 \u0111o hi\u1ec7u n\u0103ng c\u1ee7a c\u00e1c \u1ed5 c\u1ee9ng c\u00f4ng ngh\u1ec7 m\u1edbi nh\u01b0 NVMe l\u00e0 m\u1ed9t sai l\u1ea7m ph\u1ed5 bi\u1ebfn v\u1ec1 m\u1eb7t k\u1ef9 thu\u1eadt. B\u00e0i vi\u1ebft n\u00e0y s\u1ebd \u0111i s\u00e2u ph\u00e2n t\u00edch c\u01a1 ch\u1ebf ho\u1ea1t \u0111\u1ed9ng c\u1ee7a \u1ed5 c\u1ee9ng v\u00e0 h\u1ec7 \u0111i\u1ec1u h\u00e0nh Linux. InterData s\u1ebd gi\u00fap b\u1ea1n hi\u1ec3u r\u00f5 6 l\u00fd do t\u1ea1i sao l\u1ec7nh n\u00e0y kh\u00f4ng c\u00f2n ch\u00ednh x\u00e1c. \u0110\u1ed3ng th\u1eddi, ch\u00fang t\u00f4i s\u1ebd h\u01b0\u1edbng d\u1eabn b\u1ea1n c\u00e1ch \u0111o t\u1ed1c \u0111\u1ed9 th\u1ef1c t\u1ebf &#8220;chu\u1ea9n chuy\u00ean gia&#8221; \u0111\u1ec3 th\u1ea5y \u0111\u01b0\u1ee3c s\u1ee9c m\u1ea1nh th\u1eadt s\u1ef1 c\u1ee7a h\u1ec7 th\u1ed1ng.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Lenh-dd-va-Phuong-Phap-Do-Toc-Do-Co-Ban\"><\/span>L\u1ec7nh dd v\u00e0 Ph\u01b0\u01a1ng Ph\u00e1p \u0110o T\u1ed1c \u0110\u1ed9 C\u01a1 B\u1ea3n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Tr\u01b0\u1edbc khi \u0111i s\u00e2u v\u00e0o c\u00e1c v\u1ea5n \u0111\u1ec1 k\u1ef9 thu\u1eadt ph\u1ee9c t\u1ea1p, ch\u00fang ta c\u1ea7n hi\u1ec3u r\u00f5 c\u00f4ng c\u1ee5 m\u00e0 m\u1ecdi ng\u01b0\u1eddi th\u01b0\u1eddng d\u00f9ng n\u00e0y l\u00e0 g\u00ec. T\u1ea1i sao l\u1ec7nh <code>dd<\/code> l\u1ea1i tr\u1edf th\u00e0nh ti\u00eau chu\u1ea9n \u0111o l\u01b0\u1eddng trong qu\u00e1 kh\u1ee9 v\u00e0 v\u00ec sao v\u1ecb th\u1ebf \u0111\u00f3 kh\u00f4ng c\u00f2n \u0111\u00fang \u1edf hi\u1ec7n t\u1ea1i?<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Lenh-dd-la-gi\"><\/span>L\u1ec7nh dd l\u00e0 g\u00ec?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Nhi\u1ec1u qu\u1ea3n tr\u1ecb vi\u00ean h\u1ec7 th\u1ed1ng th\u01b0\u1eddng s\u1eed d\u1ee5ng l\u1ec7nh dd nh\u01b0 m\u1ed9t c\u00e1ch \u0111\u1ec3 \u0111\u00e1nh gi\u00e1 hi\u1ec7u n\u0103ng \u1ed5 c\u1ee9ng. Tuy nhi\u00ean, c\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y ch\u01b0a th\u1ef1c s\u1ef1 ph\u1ea3n \u00e1nh \u0111\u00fang m\u1ee5c \u0111\u00edch ban \u0111\u1ea7u c\u1ee7a c\u00f4ng c\u1ee5.<\/p>\n<p><strong>Ch\u1ee9c n\u0103ng ch\u00ednh c\u1ee7a l\u1ec7nh dd l\u00e0 sao ch\u00e9p v\u00e0 chuy\u1ec3n \u0111\u1ed5i file (sao l\u01b0u, n\u00e9n, chuy\u1ec3n \u0111\u1ed5i \u0111\u1ecbnh d\u1ea1ng), kh\u00f4ng ph\u1ea3i c\u00f4ng c\u1ee5 \u0111o hi\u1ec7u n\u0103ng chuy\u00ean d\u1ee5ng.<\/strong><\/p>\n<p>T\u00ean g\u1ecdi <code>dd<\/code> th\u01b0\u1eddng \u0111\u01b0\u1ee3c hi\u1ec3u l\u00e0 &#8220;Disk Dump&#8221; ho\u1eb7c &#8220;Data Description&#8221;. M\u1ee5c \u0111\u00edch ra \u0111\u1eddi c\u1ee7a l\u1ec7nh n\u00e0y tr\u00ean Unix\/Linux l\u00e0 \u0111\u1ec3 sao ch\u00e9p d\u1eef li\u1ec7u t\u1eeb v\u1ecb tr\u00ed n\u00e0y sang v\u1ecb tr\u00ed kh\u00e1c theo t\u1eebng kh\u1ed1i (block). L\u1ec7nh n\u00e0y c\u1ef1c k\u1ef3 h\u1eefu \u00edch khi b\u1ea1n mu\u1ed1n sao l\u01b0u to\u00e0n b\u1ed9 \u1ed5 \u0111\u0129a, t\u1ea1o file ISO t\u1eeb \u0111\u0129a CD, ho\u1eb7c t\u1ea1o c\u00e1c file r\u1ed7ng \u0111\u1ec3 test h\u1ec7 th\u1ed1ng.<\/p>\n<p>V\u00ec t\u00ednh ch\u1ea5t &#8220;\u0111\u1ecdc v\u00e0 ghi&#8221; d\u1eef li\u1ec7u c\u1ee7a l\u1ec7nh, ng\u01b0\u1eddi d\u00f9ng b\u1eaft \u0111\u1ea7u t\u1eadn d\u1ee5ng c\u00f4ng c\u1ee5 n\u00e0y \u0111\u1ec3 xem m\u1ea5t bao l\u00e2u \u0111\u1ec3 ghi m\u1ed9t file dung l\u01b0\u1ee3ng l\u1edbn. T\u1eeb \u0111\u00f3, th\u00f3i quen d\u00f9ng <code>dd<\/code> \u0111\u1ec3 benchmark t\u1ed1c \u0111\u1ed9 \u1ed5 c\u1ee9ng h\u00ecnh th\u00e0nh. Nh\u01b0ng v\u1edbi c\u00f4ng ngh\u1ec7 l\u01b0u tr\u1eef hi\u1ec7n \u0111\u1ea1i, ph\u01b0\u01a1ng ph\u00e1p n\u00e0y \u0111\u00e3 tr\u1edf n\u00ean l\u1ed7i th\u1eddi v\u00e0 thi\u1ebfu ch\u00ednh x\u00e1c.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Cac-tham-so-thuong-dung-cua-dd\"><\/span>C\u00e1c tham s\u1ed1 th\u01b0\u1eddng d\u00f9ng c\u1ee7a dd<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0110\u1ec3 hi\u1ec3u c\u00e1ch <code>dd<\/code> l\u00e0m vi\u1ec7c, b\u1ea1n c\u1ea7n n\u1eafm \u0111\u01b0\u1ee3c c\u00e1c tham s\u1ed1 \u0111i\u1ec1u khi\u1ec3n l\u1ec7nh n\u00e0y. M\u1ed9t sai s\u00f3t nh\u1ecf trong c\u00e1c tham s\u1ed1 c\u0169ng c\u00f3 th\u1ec3 d\u1eabn \u0111\u1ebfn k\u1ebft qu\u1ea3 sai l\u1ec7ch ho\u00e0n to\u00e0n ho\u1eb7c t\u1ec7 h\u01a1n l\u00e0 m\u1ea5t d\u1eef li\u1ec7u.<\/p>\n<p>M\u1ed9t s\u1ed1 tham s\u1ed1 th\u01b0\u1eddng d\u00f9ng:<\/p>\n<table style=\"width: 100%; border-collapse: collapse;\">\n<thead>\n<tr>\n<th style=\"background: #1524ed; color: #ffffff; border: 1px solid #555; padding: 10px; text-align: left;\">Tham s\u1ed1<\/th>\n<th style=\"background: #1524ed; color: #ffffff; border: 1px solid #555; padding: 10px; text-align: left;\">Ch\u1ee9c n\u0103ng<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">bs=Bytes<\/td>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">\u0110\u1ecdc ho\u1eb7c ghi d\u1eef li\u1ec7u v\u1edbi k\u00edch th\u01b0\u1edbc kh\u1ed1i l\u00e0 BYTES (Block Size). \u0110\u00e2y l\u00e0 l\u01b0\u1ee3ng d\u1eef li\u1ec7u l\u1ec7nh x\u1eed l\u00fd trong m\u1ed9t l\u1ea7n \u0111\u1ecdc\/ghi.<\/td>\n<\/tr>\n<tr>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">cbs=Bytes<\/td>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">Chuy\u1ec3n \u0111\u1ed5i d\u1eef li\u1ec7u v\u1edbi k\u00edch th\u01b0\u1edbc kh\u1ed1i l\u00e0 BYTES.<\/td>\n<\/tr>\n<tr>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">conv=CONVs<\/td>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">Chuy\u1ec3n \u0111\u1ed5i d\u1eef li\u1ec7u v\u1edbi c\u00e1c ch\u1ee9c n\u0103ng c\u1ee5 th\u1ec3. V\u00ed d\u1ee5: fdatasync \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o d\u1eef li\u1ec7u ghi xu\u1ed1ng \u0111\u0129a th\u1eadt.<\/td>\n<\/tr>\n<tr>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">ascii<\/td>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">Chuy\u1ec3n t\u1eeb EBCDIC sang ASCII.<\/td>\n<\/tr>\n<tr>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">ebcdic<\/td>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">Chuy\u1ec3n t\u1eeb ASCII sang EBCDIC.<\/td>\n<\/tr>\n<tr>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">lcase<\/td>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">Chuy\u1ec3n ch\u1eef hoa th\u00e0nh ch\u1eef th\u01b0\u1eddng.<\/td>\n<\/tr>\n<tr>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">ucase<\/td>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">Chuy\u1ec3n ch\u1eef th\u01b0\u1eddng th\u00e0nh ch\u1eef hoa.<\/td>\n<\/tr>\n<tr>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">sync<\/td>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">\u0110\u1ed3ng b\u1ed9 h\u00f3a d\u1eef li\u1ec7u v\u00e0 si\u00eau d\u1eef li\u1ec7u, th\u00eam null byte \u0111\u1ec3 \u0111\u1ee7 k\u00edch th\u01b0\u1edbc kh\u1ed1i.<\/td>\n<\/tr>\n<tr>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">count=N<\/td>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">Ch\u1ec9 \u0111\u1ecbnh s\u1ed1 l\u01b0\u1ee3ng kh\u1ed1i c\u1ea7n x\u1eed l\u00fd.<\/td>\n<\/tr>\n<tr>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">ibs=Bytes<\/td>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">\u0110\u1ecdc d\u1eef li\u1ec7u v\u1edbi k\u00edch th\u01b0\u1edbc kh\u1ed1i l\u00e0 BYTES (Input Block Size).<\/td>\n<\/tr>\n<tr>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">of=FILE<\/td>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">Ghi d\u1eef li\u1ec7u v\u00e0o FILE \u0111\u00edch (Output File).<\/td>\n<\/tr>\n<tr>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">if=FILE<\/td>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">\u0110\u1ecdc d\u1eef li\u1ec7u t\u1eeb FILE ngu\u1ed3n (Input File).<\/td>\n<\/tr>\n<tr>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">seek=N<\/td>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">B\u1ecf qua N kh\u1ed1i \u1edf \u0111\u1ea7u file \u0111\u00edch.<\/td>\n<\/tr>\n<tr>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">skip=N<\/td>\n<td style=\"background: #ffffff; color: #000000; border: 1px solid #555; padding: 10px;\">B\u1ecf qua N kh\u1ed1i \u1edf \u0111\u1ea7u file ngu\u1ed3n.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><span class=\"ez-toc-section\" id=\"Phuong-phap-do-dd-tai-Tocdoio-Test-3-lan\"><\/span>Ph\u01b0\u01a1ng ph\u00e1p \u0111o dd t\u1ea1i Tocdo.io (Test 3 l\u1ea7n)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>M\u1ed9t trong nh\u1eefng c\u00f4ng c\u1ee5 benchmark nhanh ph\u1ed5 bi\u1ebfn nh\u1ea5t trong c\u1ed9ng \u0111\u1ed3ng s\u1eed d\u1ee5ng VPS Vi\u1ec7t Nam l\u00e0 script t\u1eeb <strong>Tocdo.io<\/strong>. Script n\u00e0y s\u1eed d\u1ee5ng ch\u00ednh l\u1ec7nh <code>dd<\/code> \u0111\u1ec3 \u0111\u01b0a ra \u0111\u00e1nh gi\u00e1 s\u01a1 b\u1ed9.<\/p>\n<p>Tocdo.io s\u1ebd s\u1eed d\u1ee5ng tu\u1ea7n t\u1ef1 3 l\u1ea7n nh\u01b0 nhau \u0111\u1ec3 \u0111\u1ecdc t\u1eeb \u1ed5 \u0111\u0129a. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 l\u1ec7nh test th\u1ee7 c\u00f4ng m\u00f4 ph\u1ecfng l\u1ea1i qu\u00e1 tr\u00ecnh n\u00e0y m\u00e0 b\u1ea1n c\u00f3 th\u1ec3 t\u1ef1 ch\u1ea1y tr\u00ean VPS c\u1ee7a m\u00ecnh:<\/p>\n<pre><code>dd if=\/dev\/urandom of=\/root\/dd-test\/testfile bs=1M count=10240 status=progress\r\nrm -rf testfile #d\u1ecdn d\u1eb9p<\/code><\/pre>\n<p><strong>Ch\u00fa th\u00edch chi ti\u1ebft v\u1ec1 l\u1ec7nh tr\u00ean:<\/strong><\/p>\n<ul>\n<li><code>if=\/dev\/urandom<\/code>: L\u1ea5y d\u1eef li\u1ec7u ng\u1eabu nhi\u00ean t\u1eeb thi\u1ebft b\u1ecb \u1ea3o <code>\/dev\/urandom<\/code>. Vi\u1ec7c n\u00e0y m\u00f4 ph\u1ecfng d\u1eef li\u1ec7u th\u1eadt t\u1ed1t h\u01a1n l\u00e0 d\u00f9ng <code>\/dev\/zero<\/code> (to\u00e0n s\u1ed1 0), nh\u01b0ng n\u00f3 l\u1ea1i ti\u00eau t\u1ed1n CPU \u0111\u1ec3 t\u1ea1o ra s\u1ed1 ng\u1eabu nhi\u00ean.<\/li>\n<li><code>of=\/root\/dd-test\/testfile<\/code>: File test s\u1ebd \u0111\u01b0\u1ee3c t\u1ea1o t\u1ea1i \u0111\u01b0\u1eddng d\u1eabn n\u00e0y.<\/li>\n<li><code>bs=1M<\/code>: Block size l\u00e0 1 Megabyte. M\u1ed7i l\u1ea7n l\u1ec7nh s\u1ebd \u0111\u1ecdc v\u00e0 ghi m\u1ed9t c\u1ee5c d\u1eef li\u1ec7u 1MB.<\/li>\n<li><code>count=10240<\/code>: T\u1ed5ng s\u1ed1 block c\u1ea7n ghi. Ph\u00e9p t\u00ednh l\u00e0: 10240 block \u00d7 1 MB = 10.240 MB (t\u01b0\u01a1ng \u0111\u01b0\u01a1ng 10 GB d\u1eef li\u1ec7u).<\/li>\n<li><code>status=progress<\/code>: Hi\u1ec3n th\u1ecb thanh ti\u1ebfn tr\u00ecnh \u0111\u1ec3 b\u1ea1n bi\u1ebft l\u1ec7nh \u0111ang ch\u1ea1y \u0111\u1ebfn \u0111\u00e2u.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-36760\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/DD-Information.png\" alt=\"DD Information\" width=\"600\" height=\"266\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/DD-Information.png 323w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/DD-Information-300x133.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p><strong>M\u1ee5c \u0111\u00edch c\u1ee7a vi\u1ec7c th\u1ef1c hi\u1ec7n 3 Round (3 v\u00f2ng test):<\/strong><\/p>\n<p>Tocdo.io \u0111o <code>dd<\/code> \u0111\u1ecdc 3 l\u1ea7n m\u1ee5c \u0111\u00edch l\u00e0 \u0111\u1ec3 xem s\u1ef1 thay \u0111\u1ed5i t\u1ed1c \u0111\u1ed9 v\u00e0 \u0111\u1ed9 \u1ed5n \u0111\u1ecbnh c\u1ee7a h\u1ec7 th\u1ed1ng:<\/p>\n<ul>\n<li><strong>Round 1:<\/strong> T\u1ed1c \u0111\u1ed9 l\u1ea7n \u0111\u1ea7u khi cache ch\u01b0a n\u00f3ng. H\u1ec7 th\u1ed1ng ph\u1ea3i l\u00e0m vi\u1ec7c v\u1ea5t v\u1ea3 h\u01a1n \u0111\u1ec3 kh\u1edfi t\u1ea1o v\u00e0 ghi d\u1eef li\u1ec7u m\u1edbi.<\/li>\n<li><strong>Round 2:<\/strong> T\u1ed1c \u0111\u1ed9 sau khi OS\/SSD cache b\u1eaft \u0111\u1ea7u ho\u1ea1t \u0111\u1ed9ng. L\u00fac n\u00e0y, m\u1ed9t ph\u1ea7n d\u1eef li\u1ec7u ho\u1eb7c metadata \u0111\u00e3 n\u1eb1m trong RAM ho\u1eb7c b\u1ed9 \u0111\u1ec7m, n\u00ean t\u1ed1c \u0111\u1ed9 th\u01b0\u1eddng cao h\u01a1n.<\/li>\n<li><strong>Round 3:<\/strong> T\u1ed1c \u0111\u1ed9 khi cache n\u00f3ng ho\u1eb7c SSD b\u1eaft \u0111\u1ea7u gi\u1ea3m t\u1ed1c do thermal throttling (qu\u00e1 nhi\u1ec7t) ho\u1eb7c full SLC cache (b\u1ed9 \u0111\u1ec7m t\u1ed1c \u0111\u1ed9 cao b\u1ecb \u0111\u1ea7y). Round n\u00e0y ki\u1ec3m tra \u0111\u1ed9 b\u1ec1n b\u1ec9 c\u1ee7a \u1ed5 c\u1ee9ng.<\/li>\n<\/ul>\n<p>Th\u1ef1c t\u1ebf cho th\u1ea5y, nhi\u1ec1u h\u1ec7 th\u1ed1ng VPS ch\u1ea5t l\u01b0\u1ee3ng cao v\u1eabn c\u00f3 th\u1ec3 \u0111\u1ea1t k\u1ebft qu\u1ea3 t\u1ed1t v\u1edbi l\u1ec7nh n\u00e0y n\u1ebfu \u0111\u01b0\u1ee3c t\u1ed1i \u01b0u h\u00f3a \u0111\u00fang c\u00e1ch.<\/p>\n<div class=\"highlight-cta-box\">\n<ul>\n<li><strong>K\u1ebft qu\u1ea3 speedtest VPS th\u1ef1c t\u1ebf c\u1ee7a InterData: <a href=\"https:\/\/tocdo.io\/result\/f4a0f8e3-6531-4feb-829b-929a56048729\" target=\"_blank\" rel=\"nofollow noopener\">Xem k\u1ebft qu\u1ea3 t\u1ea1i \u0111\u00e2y<\/a><\/strong><\/li>\n<li><strong>K\u1ebft qu\u1ea3 speedtest VPS AMD NMVe U.2 th\u1ef1c t\u1ebf c\u1ee7a InterData: <a href=\"https:\/\/tocdo.io\/result\/203e8bfc-d10b-42f2-b83e-fba1625a86f2\" target=\"_blank\" rel=\"nofollow noopener\">Xem k\u1ebft qu\u1ea3 t\u1ea1i \u0111\u00e2y<\/a><\/strong><\/li>\n<\/ul>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Vi-Du-Thuc-Te-Cua-VPS-Ma-InterData-Dang-Cung-Cap\"><\/span>V\u00ed D\u1ee5 Th\u1ef1c T\u1ebf C\u1ee7a VPS M\u00e0 InterData \u0110ang Cung C\u1ea5p<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>D\u00f9 l\u1ec7nh <code>dd<\/code> c\u00f3 th\u1ec3 cho th\u1ea5y m\u1ed9t ph\u1ea7n b\u1ee9c tranh, nh\u01b0ng v\u1edbi c\u00f4ng ngh\u1ec7 NVMe (k\u1ec3 c\u1ea3 c\u00e1c lo\u1ea1i U.2, U.3, M.2), t\u1ed1c \u0111\u1ed9 th\u1ef1c t\u1ebf lu\u00f4n cao h\u01a1n r\u1ea5t nhi\u1ec1u so v\u1edbi nh\u1eefng g\u00ec <code>dd<\/code> \u0111o \u0111\u01b0\u1ee3c. InterData lu\u00f4n khuy\u1ebfn ngh\u1ecb kh\u00e1ch h\u00e0ng nh\u00ecn v\u00e0o hi\u1ec7u n\u0103ng th\u1ef1c t\u1ebf khi ch\u1ea1y \u1ee9ng d\u1ee5ng thay v\u00ec ch\u1ec9 tin v\u00e0o m\u1ed9t d\u00f2ng l\u1ec7nh \u0111\u01a1n gi\u1ea3n.<\/p>\n<p>Tr\u01b0\u1edbc khi t\u00ecm hi\u1ec3u l\u00ed do \u0111o <code>dd<\/code> th\u1ea5p th\u00ec h\u00e3y xem qua v\u00ed d\u1ee5 th\u1ef1c t\u1ebf c\u1ee7a VPS m\u00e0 InterData \u0111ang cung c\u1ea5p nh\u01b0 sau:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-36765\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Vi-du-thuc-te-cua-VPS-ma-InterData.png\" alt=\"V\u00ed d\u1ee5 th\u1ef1c t\u1ebf c\u1ee7a VPS m\u00e0 InterData\" width=\"600\" height=\"276\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Vi-du-thuc-te-cua-VPS-ma-InterData.png 552w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Vi-du-thuc-te-cua-VPS-ma-InterData-300x138.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>\u0110\u1ec3 ch\u1ee9ng minh s\u1ee9c m\u1ea1nh c\u1ee7a NVMe U.2, ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng c\u00f4ng c\u1ee5 <strong>fio<\/strong>. \u0110\u00e2y l\u00e0 c\u00f4ng c\u1ee5 chu\u1ea9n c\u00f4ng nghi\u1ec7p (Industry Standard) \u0111\u1ec3 benchmark h\u1ec7 th\u1ed1ng l\u01b0u tr\u1eef.<\/p>\n<p>S\u1eed d\u1ee5ng c\u00f4ng c\u1ee5 fio \u0111\u1ec3 \u0111o (c\u00e0i \u0111\u1eb7t b\u1eb1ng l\u1ec7nh: <code>apt install fio -y<\/code> tr\u00ean Ubuntu\/Debian ho\u1eb7c <code>yum install fio -y<\/code> tr\u00ean CentOS).<\/p>\n<div class=\"warning\"><strong>L\u01b0u \u00fd quan tr\u1ecdng:<\/strong> Kh\u00f4ng bao gi\u1edd test tr\u1ef1c ti\u1ebfp l\u00ean \u1ed5 boot (\u1ed5 ch\u1ee9a h\u1ec7 \u0111i\u1ec1u h\u00e0nh) b\u1eb1ng c\u00e1c l\u1ec7nh ghi \u0111\u00e8 (write), v\u00ec vi\u1ec7c n\u00e0y c\u00f3 th\u1ec3 l\u00e0m h\u1ecfng h\u1ec7 \u0111i\u1ec1u h\u00e0nh ngay l\u1eadp t\u1ee9c. H\u00e3y lu\u00f4n t\u1ea1o m\u1ed9t file test ri\u00eang bi\u1ec7t nh\u01b0 h\u01b0\u1edbng d\u1eabn d\u01b0\u1edbi \u0111\u00e2y.<\/div>\n<p>C\u00e1c l\u1ec7nh c\u00f3 th\u1ec3 d\u00f9ng \u0111\u1ec3 test Fio gi\u1ed1ng tocdo.io. Ch\u00fang ta s\u1ebd test 2 tr\u01b0\u1eddng h\u1ee3p ph\u1ed5 bi\u1ebfn: Block size 4K (\u0111\u1ea1i di\u1ec7n cho x\u1eed l\u00fd database, file nh\u1ecf) v\u00e0 Block size 64K (\u0111\u1ea1i di\u1ec7n cho copy file l\u1edbn).<\/p>\n<p><strong>1. Test v\u1edbi Block Size 4K (T\u00f9y ch\u1ec9nh \u2013rw=read ho\u1eb7c write \u0111\u1ec3 test \u0111\u1ecdc ho\u1eb7c ghi):<\/strong><\/p>\n<pre><code>fio --name=bs4k --filename=\/root\/fio-test\/testfile4k --rw=read --bs=4k --size=10G --numjobs=8 --iodepth=16 --direct=1 --runtime=10 --time_based --group_reporting<\/code><\/pre>\n<p>\u0110\u1ec3 test ghi (Write), b\u1ea1n thay <code>--rw=read<\/code> th\u00e0nh <code>--rw=write<\/code>.<\/p>\n<p><strong>2. Test v\u1edbi Block Size 64K (ho\u1eb7c l\u1edbn h\u01a1n \u0111\u1ec3 \u0111o b\u0103ng th\u00f4ng):<\/strong><\/p>\n<pre><code>fio --name=bs64k --filename=\/root\/fio-test\/testfile64k --rw=read --bs=64k --size=10G --numjobs=8 --iodepth=16 --direct=1 --runtime=10 --time_based --group_reporting<\/code><\/pre>\n<p><strong>D\u1ecdn d\u1eb9p sau test:<\/strong><\/p>\n<pre><code>rm -rf \/root\/fio-test<\/code><\/pre>\n<p><strong>Ch\u00fa th\u00edch c\u00e1c tham s\u1ed1 quan tr\u1ecdng:<\/strong><\/p>\n<ul>\n<li><code>--name=bs4k<\/code>: T\u00ean job, gi\u00fap b\u1ea1n d\u1ec5 d\u00e0ng nh\u1eadn di\u1ec7n k\u1ebft qu\u1ea3 trong log.<\/li>\n<li><code>--filename=\/root\/fio-test\/testfile4k<\/code>: Ch\u1ec9 \u0111\u1ecbnh r\u00f5 file s\u1ebd \u0111\u01b0\u1ee3c t\u1ea1o ra \u0111\u1ec3 test, \u0111\u1ea3m b\u1ea3o an to\u00e0n cho filesystem.<\/li>\n<li><code>--rw=read<\/code> \/ <code>--rw=write<\/code>: Ch\u1ecdn ch\u1ebf \u0111\u1ed9 test \u0111\u1ecdc ho\u1eb7c ghi.<\/li>\n<li><code>--bs=4k<\/code>: Block size 4K. \u0110\u00e2y l\u00e0 k\u00edch th\u01b0\u1edbc quan tr\u1ecdng nh\u1ea5t \u0111\u1ec3 \u0111o ch\u1ec9 s\u1ed1 IOPS (Input\/Output Operations Per Second).<\/li>\n<li><code>--size=10G<\/code>: File test 10GB. K\u00edch th\u01b0\u1edbc n\u00e0y \u0111\u1ee7 l\u1edbn \u0111\u1ec3 l\u00e0m b\u00e3o h\u00f2a controller c\u1ee7a NVMe, gi\u00fap k\u1ebft qu\u1ea3 ch\u00ednh x\u00e1c h\u01a1n.<\/li>\n<li><code>--numjobs=8<\/code>: Ch\u1ea1y 8 job song song. Tham s\u1ed1 n\u00e0y c\u1ef1c k\u1ef3 quan tr\u1ecdng v\u1edbi NVMe \u0111\u1ec3 t\u1eadn d\u1ee5ng kh\u1ea3 n\u0103ng x\u1eed l\u00fd \u0111a lu\u1ed3ng.<\/li>\n<li><code>--iodepth=16<\/code>: Queue depth (h\u00e0ng \u0111\u1ee3i) cao. NVMe \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 x\u1eed l\u00fd h\u00e0ng ng\u00e0n l\u1ec7nh trong h\u00e0ng \u0111\u1ee3i c\u00f9ng l\u00fac.<\/li>\n<li><code>--direct=1<\/code>: Bypass cache (b\u1ecf qua cache c\u1ee7a RAM\/OS). \u0110\u00e2y l\u00e0 c\u00e1ch duy nh\u1ea5t \u0111\u1ec3 \u0111o t\u1ed1c \u0111\u1ed9 <strong>th\u1ef1c<\/strong> c\u1ee7a \u1ed5 \u0111\u0129a.<\/li>\n<li><code>--runtime=10 --time_based<\/code>: Ch\u1ea1y test trong \u0111\u00fang 10 gi\u00e2y, gi\u00fap chu\u1ea9n h\u00f3a th\u1eddi gian \u0111o.<\/li>\n<li><code>--group_reporting<\/code>: G\u1ed9p k\u1ebft qu\u1ea3 c\u1ee7a c\u00e1c job l\u1ea1i \u0111\u1ec3 hi\u1ec3n th\u1ecb t\u1ed5ng quan d\u1ec5 hi\u1ec3u.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Mot-so-hinh-anh-thuc-te-Test-tren-VPS-cua-InterData\"><\/span>M\u1ed9t s\u1ed1 h\u00ecnh \u1ea3nh th\u1ef1c t\u1ebf: Test tr\u00ean VPS c\u1ee7a InterData<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Khi s\u1eed d\u1ee5ng ph\u01b0\u01a1ng ph\u00e1p \u0111o \u0111\u00fang b\u1eb1ng <code>fio<\/code>, k\u1ebft qu\u1ea3 nh\u1eadn \u0111\u01b0\u1ee3c r\u1ea5t \u1ea5n t\u01b0\u1ee3ng v\u00e0 ph\u1ea3n \u00e1nh \u0111\u00fang gi\u00e1 tr\u1ecb ph\u1ea7n c\u1ee9ng:<\/p>\n<h4>Chu\u1ea9n 4K (Quan tr\u1ecdng cho Website, Database)<\/h4>\n<figure id=\"attachment_36762\" aria-describedby=\"caption-attachment-36762\" style=\"width: 1227px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-36762\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Read-1.png\" alt=\"Read-1\" width=\"1227\" height=\"575\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Read-1.png 1227w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Read-1-300x141.png 300w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Read-1-1024x480.png 1024w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Read-1-768x360.png 768w\" sizes=\"auto, (max-width: 1227px) 100vw, 1227px\" \/><figcaption id=\"caption-attachment-36762\" class=\"wp-caption-text\">Read: ~406\u202fMB\/s, ~99k IOPS<\/figcaption><\/figure>\n<p>K\u1ebft qu\u1ea3 \u0111\u1ecdc 4K \u0111\u1ea1t t\u1edbi 99.000 IOPS. Con s\u1ed1 n\u00e0y cho th\u1ea5y VPS c\u00f3 th\u1ec3 x\u1eed l\u00fd g\u1ea7n 100.000 y\u00eau c\u1ea7u truy xu\u1ea5t d\u1eef li\u1ec7u nh\u1ecf m\u1ed7i gi\u00e2y. \u0110\u00e2y l\u00e0 y\u1ebfu t\u1ed1 then ch\u1ed1t gi\u00fap website load nhanh m\u01b0\u1ee3t m\u00e0.<\/p>\n<figure id=\"attachment_36766\" aria-describedby=\"caption-attachment-36766\" style=\"width: 1236px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-36766\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Write-1.png\" alt=\"Write-1\" width=\"1236\" height=\"580\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Write-1.png 1236w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Write-1-300x141.png 300w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Write-1-1024x481.png 1024w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Write-1-768x360.png 768w\" sizes=\"auto, (max-width: 1236px) 100vw, 1236px\" \/><figcaption id=\"caption-attachment-36766\" class=\"wp-caption-text\">Write: ~361\u202fMB\/s, ~88k IOPS<\/figcaption><\/figure>\n<p>T\u1ed1c \u0111\u1ed9 ghi 4K c\u0169ng \u0111\u1ea1t g\u1ea7n 90.000 IOPS, \u0111\u1ea3m b\u1ea3o vi\u1ec7c ghi d\u1eef li\u1ec7u v\u00e0o database kh\u00f4ng b\u1ecb ngh\u1ebdn c\u1ed5 chai.<\/p>\n<h4>Chu\u1ea9n 64K (Quan tr\u1ecdng cho sao l\u01b0u, download\/upload file l\u1edbn)<\/h4>\n<figure id=\"attachment_36763\" aria-describedby=\"caption-attachment-36763\" style=\"width: 1518px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-36763\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Read-2.png\" alt=\"Read-2\" width=\"1518\" height=\"507\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Read-2.png 1518w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Read-2-300x100.png 300w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Read-2-1024x342.png 1024w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Read-2-768x257.png 768w\" sizes=\"auto, (max-width: 1518px) 100vw, 1518px\" \/><figcaption id=\"caption-attachment-36763\" class=\"wp-caption-text\">Read: ~2\u202fGB\/s, ~30.5\u202fk IOPS<\/figcaption><\/figure>\n<figure id=\"attachment_36767\" aria-describedby=\"caption-attachment-36767\" style=\"width: 1521px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-36767\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Write-2.png\" alt=\"Write-2\" width=\"1521\" height=\"568\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Write-2.png 1521w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Write-2-300x112.png 300w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Write-2-1024x382.png 1024w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Write-2-768x287.png 768w\" sizes=\"auto, (max-width: 1521px) 100vw, 1521px\" \/><figcaption id=\"caption-attachment-36767\" class=\"wp-caption-text\">Write: ~2\u202fGB\/s, ~30.6k IOPS<\/figcaption><\/figure>\n<p>V\u1edbi c\u00e1c file l\u1edbn h\u01a1n, t\u1ed1c \u0111\u1ed9 b\u0103ng th\u00f4ng (Throughput) l\u00ean t\u1edbi 2GB\/s cho c\u1ea3 \u0111\u1ecdc v\u00e0 ghi. Con s\u1ed1 n\u00e0y cao g\u1ea5p nhi\u1ec1u l\u1ea7n so v\u1edbi SSD SATA th\u00f4ng th\u01b0\u1eddng.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-36761\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Log-read.png\" alt=\"Log read\" width=\"1065\" height=\"451\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Log-read.png 1065w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Log-read-300x127.png 300w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Log-read-1024x434.png 1024w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/12\/Log-read-768x325.png 768w\" sizes=\"auto, (max-width: 1065px) 100vw, 1065px\" \/><\/p>\n<p class=\"note\">L\u00fd do t\u1ea1i sao ph\u1ea3i d\u00f9ng <code>fio<\/code> m\u00e0 kh\u00f4ng ph\u1ea3i <code>dd<\/code> s\u1ebd \u0111\u01b0\u1ee3c tr\u00ecnh b\u00e0y chi ti\u1ebft ngay trong n\u1ed9i dung b\u00ean d\u01b0\u1edbi.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"6-Ly-Do-Khien-Toc-Do-dd-Thap-Hon-Thuc-Te-Cua-NVMe\"><\/span>6 L\u00fd Do Khi\u1ebfn T\u1ed1c \u0110\u1ed9 dd Th\u1ea5p H\u01a1n Th\u1ef1c T\u1ebf C\u1ee7a NVMe<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>B\u1ea1n \u0111\u00e3 th\u1ea5y s\u1ef1 ch\u00eanh l\u1ec7ch &#8220;m\u1ed9t tr\u1eddi m\u1ed9t v\u1ef1c&#8221; gi\u1eefa k\u1ebft qu\u1ea3 c\u1ee7a <code>dd<\/code> v\u00e0 <code>fio<\/code>. V\u1eady nguy\u00ean nh\u00e2n s\u00e2u xa v\u1ec1 m\u1eb7t k\u1ef9 thu\u1eadt l\u00e0 g\u00ec? T\u1ea1i sao m\u1ed9t l\u1ec7nh ph\u1ed5 bi\u1ebfn nh\u01b0 <code>dd<\/code> l\u1ea1i &#8220;b\u1ea5t l\u1ef1c&#8221; tr\u01b0\u1edbc NVMe?<\/p>\n<h3><span class=\"ez-toc-section\" id=\"1-Lenh-dd-chi-do-1-luong-docghi-tuan-tu-Single-Threaded-Sequential-IO\"><\/span>1. L\u1ec7nh dd ch\u1ec9 \u0111o 1 lu\u1ed3ng \u0111\u1ecdc\/ghi tu\u1ea7n t\u1ef1 (Single-Threaded Sequential I\/O)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0110\u00e2y l\u00e0 nguy\u00ean nh\u00e2n l\u1edbn nh\u1ea5t. NVMe (Non-Volatile Memory Express) l\u00e0 giao th\u1ee9c \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 khai th\u00e1c kh\u1ea3 n\u0103ng x\u1eed l\u00fd song song (parallelism) c\u1ee7a chip nh\u1edb hi\u1ec7n \u0111\u1ea1i. M\u1ed9t \u1ed5 NVMe c\u00f3 th\u1ec3 h\u1ed7 tr\u1ee3 t\u1edbi 64.000 h\u00e0ng \u0111\u1ee3i (queues), m\u1ed7i h\u00e0ng \u0111\u1ee3i ch\u1ee9a 64.000 l\u1ec7nh.<\/p>\n<p>Ng\u01b0\u1ee3c l\u1ea1i, l\u1ec7nh <code>dd<\/code> ho\u1ea1t \u0111\u1ed9ng c\u1ef1c k\u1ef3 \u0111\u01a1n gi\u1ea3n: N\u00f3 ch\u1ec9 ch\u1ea1y <strong>1 lu\u1ed3ng duy nh\u1ea5t (single thread)<\/strong>, g\u1eedi <strong>1 y\u00eau c\u1ea7u I\/O (QD1)<\/strong> t\u1ea1i m\u1ed9t th\u1eddi \u0111i\u1ec3m. B\u1ea1n c\u00f3 th\u1ec3 h\u00ecnh dung vi\u1ec7c n\u00e0y gi\u1ed1ng nh\u01b0 b\u1ea1n \u0111ang s\u1edf h\u1eefu m\u1ed9t \u0111\u01b0\u1eddng cao t\u1ed1c 64 l\u00e0n xe (NVMe) nh\u01b0ng ch\u1ec9 cho ph\u00e9p \u0111\u00fang 1 chi\u1ebfc xe (l\u1ec7nh dd) ch\u1ea1y tr\u00ean \u0111\u00f3. T\u1ed1c \u0111\u1ed9 \u0111o \u0111\u01b0\u1ee3c l\u00fac n\u00e0y l\u00e0 t\u1ed1c \u0111\u1ed9 c\u1ee7a chi\u1ebfc xe \u0111\u00f3, ch\u1ee9 kh\u00f4ng ph\u1ea3i n\u0103ng l\u1ef1c v\u1eadn chuy\u1ec3n c\u1ee7a c\u1ea3 con \u0111\u01b0\u1eddng.<\/p>\n<p>K\u1ebft qu\u1ea3 l\u00e0 t\u1ed1c \u0111\u1ed9 \u0111o \u0111\u01b0\u1ee3c b\u1eb1ng <code>dd<\/code> th\u01b0\u1eddng ch\u1ec9 ph\u1ea3n \u00e1nh kho\u1ea3ng 10\u201330% n\u0103ng l\u1ef1c th\u1ef1c s\u1ef1 c\u1ee7a \u1ed5 c\u1ee9ng.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"2-Toc-do-quang-cao-la-Sequential-tren-nhieu-Queue-Depth-QD32QD64\"><\/span>2. T\u1ed1c \u0111\u1ed9 qu\u1ea3ng c\u00e1o l\u00e0 Sequential tr\u00ean nhi\u1ec1u Queue Depth (QD32\/QD64)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Khi b\u1ea1n xem th\u00f4ng s\u1ed1 k\u1ef9 thu\u1eadt c\u1ee7a \u1ed5 c\u1ee9ng NVMe (v\u00ed d\u1ee5: \u0110\u1ecdc 3500 MB\/s, Ghi 3000 MB\/s), c\u00e1c con s\u1ed1 n\u00e0y \u0111\u01b0\u1ee3c nh\u00e0 s\u1ea3n xu\u1ea5t \u0111o trong \u0111i\u1ec1u ki\u1ec7n l\u00fd t\u01b0\u1edfng nh\u1ea5t.<\/p>\n<p>S\u1ed1 li\u1ec7u qu\u1ea3ng c\u00e1o (3-7 GB\/s) \u0111\u01b0\u1ee3c \u0111o b\u1eb1ng c\u00f4ng c\u1ee5 chuy\u00ean d\u1ee5ng nh\u01b0 CrystalDiskMark ho\u1eb7c fio v\u1edbi thi\u1ebft l\u1eadp: <strong>Queue Depth cao (th\u01b0\u1eddng l\u00e0 32 ho\u1eb7c 64)<\/strong>, nhi\u1ec1u <strong>Threads (8 ho\u1eb7c 16)<\/strong> v\u00e0 I\/O song song. \u0110i\u1ec1u n\u00e0y c\u00f3 ngh\u0129a l\u00e0 \u1ed5 c\u1ee9ng \u0111ang nh\u1eadn h\u00e0ng tr\u0103m l\u1ec7nh \u0111\u1ecdc\/ghi c\u00f9ng l\u00fac, gi\u00fap n\u00f3 t\u1ed1i \u01b0u h\u00f3a vi\u1ec7c s\u1eafp x\u1ebfp d\u1eef li\u1ec7u v\u00e0 \u0111\u1ea1t t\u1ed1c \u0111\u1ed9 t\u1ed1i \u0111a.<\/p>\n<p>L\u1ec7nh <code>dd<\/code> kh\u00f4ng l\u00e0m \u0111\u01b0\u1ee3c \u0111i\u1ec1u n\u00e0y. N\u00f3 kh\u00f4ng th\u1ec3 t\u1ea1o \u0111\u1ee7 \u00e1p l\u1ef1c (load) \u0111\u1ec3 k\u00edch ho\u1ea1t to\u00e0n b\u1ed9 s\u1ee9c m\u1ea1nh c\u1ee7a controller NVMe.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"3-dd-bi-anh-huong-boi-Cache-va-Kernel-Linux\"><\/span>3. dd b\u1ecb \u1ea3nh h\u01b0\u1edfng b\u1edfi Cache v\u00e0 Kernel Linux<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Linux c\u00f3 c\u01a1 ch\u1ebf qu\u1ea3n l\u00fd b\u1ed9 nh\u1edb r\u1ea5t th\u00f4ng minh bao g\u1ed3m Page Cache, Readahead v\u00e0 Write-back Buffer. Khi b\u1ea1n ch\u1ea1y l\u1ec7nh <code>dd<\/code> m\u00e0 kh\u00f4ng c\u00f3 c\u1edd <code>direct<\/code> (ho\u1eb7c <code>oflag=direct<\/code>), d\u1eef li\u1ec7u th\u1ef1c ch\u1ea5t ch\u01b0a \u0111\u01b0\u1ee3c ghi ngay xu\u1ed1ng \u0111\u0129a.<\/p>\n<ul>\n<li><strong>Test \u0110\u1ecdc:<\/strong> N\u1ebfu file test c\u1ee7a b\u1ea1n nh\u1ecf h\u01a1n dung l\u01b0\u1ee3ng RAM tr\u1ed1ng, Linux s\u1ebd cache file \u0111\u00f3 v\u00e0o RAM. L\u1ea7n \u0111\u1ecdc ti\u1ebfp theo, b\u1ea1n th\u1ef1c ch\u1ea5t \u0111ang \u0111o t\u1ed1c \u0111\u1ed9 copy t\u1eeb RAM ra, con s\u1ed1 c\u00f3 th\u1ec3 l\u00ean t\u1edbi h\u00e0ng ch\u1ee5c GB\/s (\u1ea3o).<\/li>\n<li><strong>Test Ghi:<\/strong> D\u1eef li\u1ec7u \u0111\u01b0\u1ee3c ghi v\u00e0o RAM tr\u01b0\u1edbc (Buffer). L\u1ec7nh <code>dd<\/code> c\u00f3 th\u1ec3 b\u00e1o \u0111\u00e3 xong, nh\u01b0ng Kernel v\u1eabn \u0111ang \u00e2m th\u1ea7m ghi d\u1eef li\u1ec7u t\u1eeb RAM xu\u1ed1ng \u0111\u0129a (flush). K\u1ebft qu\u1ea3 b\u1ea1n th\u1ea5y l\u00e0 t\u1ed1c \u0111\u1ed9 ghi v\u00e0o RAM, kh\u00f4ng ph\u1ea3i v\u00e0o \u0111\u0129a.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"4-NVMe-U2-Enterprise-toi-uu-Random-IOPS-khong-phai-Sequential-Speed\"><\/span>4. NVMe U.2 (Enterprise) t\u1ed1i \u01b0u Random IOPS, kh\u00f4ng ph\u1ea3i Sequential Speed<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>InterData s\u1eed d\u1ee5ng chu\u1ea9n U.2 Enterprise cho h\u1ec7 th\u1ed1ng VPS. C\u00f3 m\u1ed9t s\u1ef1 kh\u00e1c bi\u1ec7t l\u1edbn v\u1ec1 tri\u1ebft l\u00fd thi\u1ebft k\u1ebf gi\u1eefa \u1ed5 c\u1ee9ng Enterprise (U.2) v\u00e0 Consumer (M.2 PC c\u00e1 nh\u00e2n).<\/p>\n<ul>\n<li><strong>\u1ed4 M.2 Consumer:<\/strong> T\u1ed1i \u01b0u cho t\u1ed1c \u0111\u1ed9 tu\u1ea7n t\u1ef1 (Sequential Speed) c\u1ef1c cao (l\u00ean t\u1edbi 7000 MB\/s) \u0111\u1ec3 qu\u1ea3ng c\u00e1o, nh\u01b0ng \u0111\u1ed9 b\u1ec1n th\u1ea5p v\u00e0 t\u1ed1c \u0111\u1ed9 gi\u1ea3m nhanh khi ch\u1ea1y n\u1eb7ng li\u00ean t\u1ee5c.<\/li>\n<li><strong>\u1ed4 U.2 Enterprise:<\/strong> \u01afu ti\u00ean \u0111\u1ed9 b\u1ec1n (DWPD &#8211; Drive Writes Per Day), \u0111\u1ed9 tr\u1ec5 th\u1ea5p (Low Latency) v\u00e0 \u0111\u1eb7c bi\u1ec7t l\u00e0 <strong>Random IOPS cao<\/strong>.<\/li>\n<\/ul>\n<p>Sequential Speed c\u1ee7a U.2 th\u01b0\u1eddng ch\u1ec9 \u1edf m\u1ee9c \u1ed5n \u0111\u1ecbnh 1.5\u20133 GB\/s (c\u00f3 th\u1ec3 th\u1ea5p h\u01a1n con s\u1ed1 \u0111\u1ec9nh c\u1ee7a M.2 Consumer). Tuy nhi\u00ean, kh\u1ea3 n\u0103ng ch\u1ecbu t\u1ea3i h\u00e0ng ngh\u00ecn ng\u01b0\u1eddi truy c\u1eadp c\u00f9ng l\u00fac (Random I\/O) c\u1ee7a n\u00f3 l\u1ea1i v\u01b0\u1ee3t tr\u1ed9i ho\u00e0n to\u00e0n. L\u1ec7nh <code>dd<\/code> ch\u1ee7 y\u1ebfu \u0111o Sequential, n\u00ean n\u00f3 v\u00f4 t\u00ecnh l\u00e0m &#8220;d\u00ecm h\u00e0ng&#8221; \u0111i\u1ec3m m\u1ea1nh nh\u1ea5t c\u1ee7a d\u00f2ng \u1ed5 c\u1ee9ng Enterprise.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"5-dd-khong-he-do-duoc-%E2%80%9CToc-do-that%E2%80%9D-cua-NVMe\"><\/span>5. dd kh\u00f4ng h\u1ec1 \u0111o \u0111\u01b0\u1ee3c &#8220;T\u1ed1c \u0111\u1ed9 th\u1eadt&#8221; c\u1ee7a NVMe<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>T\u1eeb c\u00e1c l\u00fd do tr\u00ean, c\u00f3 th\u1ec3 kh\u1eb3ng \u0111\u1ecbnh <code>dd<\/code> kh\u00f4ng \u0111o \u0111\u01b0\u1ee3c t\u1ed1c \u0111\u1ed9 th\u1eadt. Ngo\u00e0i ra, vi\u1ec7c d\u00f9ng <code>if=\/dev\/urandom<\/code> c\u0169ng t\u1ea1o ra m\u1ed9t n\u00fat th\u1eaft c\u1ed5 chai (bottleneck) t\u1ea1i CPU.<\/p>\n<p>CPU ph\u1ea3i t\u1ed1n t\u00e0i nguy\u00ean \u0111\u1ec3 t\u00ednh to\u00e1n v\u00e0 t\u1ea1o ra d\u1eef li\u1ec7u ng\u1eabu nhi\u00ean cho <code>\/dev\/urandom<\/code>. N\u1ebfu CPU c\u1ee7a b\u1ea1n x\u1eed l\u00fd vi\u1ec7c n\u00e0y ch\u1eadm h\u01a1n t\u1ed1c \u0111\u1ed9 ghi c\u1ee7a \u1ed5 c\u1ee9ng, th\u00ec k\u1ebft qu\u1ea3 <code>dd<\/code> tr\u1ea3 v\u1ec1 ch\u00ednh l\u00e0 t\u1ed1c \u0111\u1ed9 c\u1ee7a CPU, kh\u00f4ng ph\u1ea3i c\u1ee7a \u1ed5 c\u1ee9ng. \u0110\u1ec3 kh\u1eafc ph\u1ee5c, c\u00e1c chuy\u00ean gia b\u1eaft bu\u1ed9c ph\u1ea3i d\u00f9ng <code>fio<\/code> \u0111\u1ec3 m\u00f4 ph\u1ecfng I\/O song song v\u00e0 b\u1ecf qua c\u00e1c gi\u1edbi h\u1ea1n n\u00e0y.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"6-Toc-do-ghi-quang-cao-thuong-la-%E2%80%9CSLC-Cache-Speed%E2%80%9D\"><\/span>6. T\u1ed1c \u0111\u1ed9 ghi qu\u1ea3ng c\u00e1o th\u01b0\u1eddng l\u00e0 &#8220;SLC Cache Speed&#8221;<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>H\u1ea7u h\u1ebft c\u00e1c \u1ed5 c\u1ee9ng SSD hi\u1ec7n \u0111\u1ea1i \u0111\u1ec1u s\u1eed d\u1ee5ng c\u00f4ng ngh\u1ec7 SLC Caching. M\u1ed9t ph\u1ea7n dung l\u01b0\u1ee3ng \u1ed5 c\u1ee9ng \u0111\u01b0\u1ee3c c\u1ea5u h\u00ecnh ch\u1ea1y \u1edf ch\u1ebf \u0111\u1ed9 SLC (1 bit per cell) cho t\u1ed1c \u0111\u1ed9 c\u1ef1c nhanh.<\/p>\n<p>T\u1ed1c \u0111\u1ed9 cao (v\u00ed d\u1ee5 3000 MB\/s) b\u1ea1n th\u01b0\u1eddng th\u1ea5y ch\u00ednh l\u00e0 t\u1ed1c \u0111\u1ed9 ghi v\u00e0o v\u00f9ng SLC Cache n\u00e0y. Khi b\u1ea1n th\u1ef1c hi\u1ec7n l\u1ec7nh <code>dd<\/code> v\u1edbi dung l\u01b0\u1ee3ng l\u1edbn (v\u00ed d\u1ee5 ghi 50GB, 100GB), v\u00f9ng cache n\u00e0y s\u1ebd b\u1ecb \u0111\u1ea7y. L\u00fac n\u00e0y, \u1ed5 c\u1ee9ng bu\u1ed9c ph\u1ea3i ghi tr\u1ef1c ti\u1ebfp v\u00e0o chip nh\u1edb TLC ho\u1eb7c QLC v\u1edbi t\u1ed1c \u0111\u1ed9 ch\u1eadm h\u01a1n nhi\u1ec1u (th\u01b0\u1eddng ch\u1ec9 c\u00f2n 500\u2013900 MB\/s). \u0110\u00e2y l\u00e0 \u0111\u1eb7c t\u00ednh v\u1eadt l\u00fd b\u00ecnh th\u01b0\u1eddng c\u1ee7a b\u1ed9 nh\u1edb flash, kh\u00f4ng ph\u1ea3i l\u1ed7i.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Giai-Phap-Su-Dung-Cong-Cu-fio-de-Do-Toc-Do-Thuc-Te\"><\/span>Gi\u1ea3i Ph\u00e1p: S\u1eed D\u1ee5ng C\u00f4ng C\u1ee5 fio \u0111\u1ec3 \u0110o T\u1ed1c \u0110\u1ed9 Th\u1ef1c T\u1ebf<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Sau khi \u0111\u00e3 hi\u1ec3u r\u00f5 nguy\u00ean nh\u00e2n, gi\u1ea3i ph\u00e1p duy nh\u1ea5t \u0111\u1ec3 \u0111\u00e1nh gi\u00e1 \u0111\u00fang ch\u1ea5t l\u01b0\u1ee3ng VPS t\u1ea1i InterData l\u00e0 thay \u0111\u1ed5i c\u00f4ng c\u1ee5 \u0111o l\u01b0\u1eddng.<\/p>\n<p><strong>Gi\u1edbi thi\u1ec7u fio:<\/strong> Fio (Flexible I\/O Tester) l\u00e0 c\u00f4ng c\u1ee5 chuy\u00ean d\u1ee5ng \u0111\u01b0\u1ee3c ph\u00e1t tri\u1ec3n b\u1edfi Jens Axboe &#8211; ng\u01b0\u1eddi b\u1ea3o tr\u00ec block layer c\u1ee7a Linux Kernel. N\u00f3 cho ph\u00e9p m\u00f4 ph\u1ecfng ch\u00ednh x\u00e1c c\u00e1c lo\u1ea1i t\u1ea3i (workload) c\u1ee7a server th\u1ef1c t\u1ebf.<\/p>\n<p><strong>H\u01b0\u1edbng d\u1eabn c\u00e0i \u0111\u1eb7t nhanh:<\/strong><\/p>\n<pre><code>apt install fio -y  # \u0110\u1ed1i v\u1edbi Ubuntu\/Debian\r\nyum install fio -y  # \u0110\u1ed1i v\u1edbi CentOS\/RHEL<\/code><\/pre>\n<div class=\"warning\"><strong>L\u01b0u \u00fd quan tr\u1ecdng:<\/strong> Tuy\u1ec7t \u0111\u1ed1i kh\u00f4ng th\u1ef1c hi\u1ec7n l\u1ec7nh test ghi (write) tr\u1ef1c ti\u1ebfp l\u00ean ph\u00e2n v\u00f9ng ch\u1ee9a h\u1ec7 \u0111i\u1ec1u h\u00e0nh ho\u1eb7c d\u1eef li\u1ec7u quan tr\u1ecdng n\u1ebfu b\u1ea1n ch\u01b0a hi\u1ec3u r\u00f5 v\u1ec1 c\u00e1c tham s\u1ed1.<\/div>\n<p>B\u1ea1n c\u00f3 th\u1ec3 copy v\u00e0 ch\u1ea1y c\u00e1c l\u1ec7nh m\u1eabu d\u01b0\u1edbi \u0111\u00e2y \u0111\u1ec3 t\u1ef1 ki\u1ec3m ch\u1ee9ng (\u0111\u00e3 \u0111\u01b0\u1ee3c c\u1ea5u h\u00ecnh an to\u00e0n \u0111\u1ec3 t\u1ea1o file test ri\u00eang):<\/p>\n<p><em>Test Random Read (\u0110\u1ecdc ng\u1eabu nhi\u00ean &#8211; Gi\u1ea3 l\u1eadp Database):<\/em><\/p>\n<pre><code>fio --name=randread --filename=testfile --rw=randread --bs=4k --iodepth=64 --numjobs=4 --size=4G --group_reporting --direct=1<\/code><\/pre>\n<p><em>Test Sequential Write (Ghi tu\u1ea7n t\u1ef1 &#8211; Gi\u1ea3 l\u1eadp ch\u00e9p file):<\/em><\/p>\n<pre><code>fio --name=seqwrite --filename=testfile --rw=write --bs=1M --iodepth=16 --numjobs=1 --size=4G --group_reporting --direct=1<\/code><\/pre>\n<p>H\u00e3y ch\u00fa \u00fd \u0111\u1ebfn d\u00f2ng k\u1ebft qu\u1ea3 <strong>IOPS<\/strong> v\u00e0 <strong>BW<\/strong> (Bandwidth). \u0110\u00f3 m\u1edbi l\u00e0 con s\u1ed1 ph\u1ea3n \u00e1nh \u0111\u00fang s\u1ee9c m\u1ea1nh chi\u1ebfc &#8220;si\u00eau xe&#8221; NVMe U.2 m\u00e0 b\u1ea1n \u0111ang s\u1edf h\u1eefu.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Ket-luan\"><\/span>K\u1ebft lu\u1eadn<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Vi\u1ec7c th\u1ea5y k\u1ebft qu\u1ea3 th\u1ea5p khi d\u00f9ng l\u1ec7nh <code>dd<\/code> tr\u00ean VPS NVMe U.2 l\u00e0 m\u1ed9t hi\u1ec7n t\u01b0\u1ee3ng k\u1ef9 thu\u1eadt ho\u00e0n to\u00e0n b\u00ecnh th\u01b0\u1eddng v\u00e0 d\u1ec5 gi\u1ea3i th\u00edch. L\u1ec7nh <code>dd<\/code> l\u00e0 m\u1ed9t c\u00f4ng c\u1ee5 sao ch\u00e9p \u0111\u01a1n lu\u1ed3ng, n\u00f3 kh\u00f4ng \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 \u0111o hi\u1ec7u n\u0103ng c\u1ee7a c\u00e1c h\u1ec7 th\u1ed1ng l\u01b0u tr\u1eef song song hi\u1ec7n \u0111\u1ea1i.<\/p>\n<p>\u0110\u1ec3 \u0111\u00e1nh gi\u00e1 c\u00f4ng b\u1eb1ng v\u00e0 ch\u00ednh x\u00e1c hi\u1ec7u n\u0103ng VPS c\u1ee7a InterData, b\u1ea1n n\u00ean s\u1eed d\u1ee5ng c\u00e1c c\u00f4ng c\u1ee5 chuy\u00ean nghi\u1ec7p nh\u01b0 <code>fio<\/code>. V\u1edbi c\u1ea5u h\u00ecnh ph\u1ea7n c\u1ee9ng Enterprise m\u1ea1nh m\u1ebd, InterData \u0111\u1ea3m b\u1ea3o h\u1ec7 th\u1ed1ng lu\u00f4n cung c\u1ea5p IOPS cao v\u00e0 \u0111\u1ed9 tr\u1ec5 th\u1ea5p, gi\u00fap c\u00e1c \u1ee9ng d\u1ee5ng n\u1eb7ng c\u1ee7a b\u1ea1n v\u1eadn h\u00e0nh tr\u01a1n tru, \u1ed5n \u0111\u1ecbnh, \u0111i\u1ec1u m\u00e0 c\u00e1c con s\u1ed1 t\u1eeb <code>dd<\/code> kh\u00f4ng th\u1ec3 hi\u1ec7n \u0111\u01b0\u1ee3c.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>B\u1ea1n v\u1eeba \u0111\u0103ng k\u00fd m\u1ed9t g\u00f3i VPS cao c\u1ea5p s\u1eed d\u1ee5ng \u1ed5 c\u1ee9ng NVMe U.2 Enterprise. B\u1ea1n h\u00e1o h\u1ee9c ki\u1ec3m tra t\u1ed1c \u0111\u1ed9 b\u1eb1ng l\u1ec7nh dd quen thu\u1ed9c v\u00e0 nh\u1eadn l\u1ea1i m\u1ed9t k\u1ebft qu\u1ea3 th\u1ea5p \u0111\u1ebfn m\u1ee9c kh\u00f3 hi\u1ec3u. Li\u1ec7u nh\u00e0 cung c\u1ea5p c\u00f3 \u0111ang &#8220;treo \u0111\u1ea7u d\u00ea b\u00e1n th\u1ecbt ch\u00f3&#8221;? Khoan h\u00e3y v\u1ed9i k\u1ebft<\/p>\n","protected":false},"author":2,"featured_media":36772,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[152],"tags":[],"class_list":["post-36755","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-huong-dan-portal"],"_links":{"self":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/36755","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/comments?post=36755"}],"version-history":[{"count":19,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/36755\/revisions"}],"predecessor-version":[{"id":36784,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/36755\/revisions\/36784"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/media\/36772"}],"wp:attachment":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/media?parent=36755"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/categories?post=36755"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/tags?post=36755"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}