Tạo file theo dung lượng mong muốn để test tải lên, email và ổ đĩa
Công cụ tạo file dung lượng test cho ra một file có kích thước đúng tới từng byte: 10 MB, 25 MB, 1 GB hay con số lẻ bất kỳ, tính theo hệ 1000 hoặc hệ 1024. Bạn chọn nội dung toàn số 0, byte ngẫu nhiên hoặc một chuỗi lặp lại, đặt tên và đuôi file, rồi tải về hoặc ghi thẳng ra ổ đĩa. Mọi thứ chạy trong trình duyệt của bạn, không có byte nào được gửi lên máy chủ.
Tính năng nổi bật
- Nhập dung lượng theo B, KB, MB, GB, chấp nhận số lẻ kiểu Việt Nam (1,5) và hiện ngay số byte chính xác của file
- Chọn cách tính hệ 1000 (1 MB = 1.000.000 byte) hoặc hệ 1024 (1 MB = 1.048.576 byte), kèm cách Windows và macOS sẽ hiển thị cùng file đó
- Ba kiểu nội dung: toàn byte 0, byte ngẫu nhiên từ crypto.getRandomValues (không nén được), hoặc lặp một chuỗi văn bản UTF-8
- Chế độ lặp chuỗi tự thay byte dở dang của chữ có dấu ở cuối file bằng dấu cách, nên file .txt vẫn đọc được mà dung lượng không đổi
- Tám nút chọn nhanh từ 1 MB tới 1 GB cho các mốc giới hạn tải lên hay gặp
- Đuôi file chọn sẵn (.bin, .dat, .txt, .tmp) hoặc tự gõ, có cảnh báo khi đuôi là định dạng có cấu trúc như .pdf, .jpg, .docx
- Tạo tới 100 file một lần, gom vào một file ZIP không nén (STORE) để mỗi file bên trong giữ đúng số byte
- Tùy chọn kèm 2 file lệch đúng 1 byte (nhỏ hơn và lớn hơn) để thử chính xác điểm cắt của giới hạn tải lên
- Ghi thẳng ra ổ đĩa từng khối 1 MiB qua File System Access API trên Chrome, Edge máy tính, tạo được file tới 50 GiB mà không chiếm nhiều RAM
- Thanh tiến độ, nút Hủy giữa chừng và báo thời gian tạo cùng tốc độ ghi sau khi xong
Khi nào cần một file đúng dung lượng
Người làm web cần biết form tải lên có chặn đúng ở 5 MB như đã cấu hình không, hay máy chủ đang âm thầm cắt ở 2 MB vì một dòng cấu hình PHP bị bỏ quên. Người làm IT muốn xem ổ mạng, USB hay dịch vụ lưu trữ đám mây nhận file 4 GB có lỗi không. Người viết tài liệu hướng dẫn cần chụp lại thông báo lỗi khi gửi file vượt giới hạn. Đi tìm một file có sẵn vừa đúng 25.000.000 byte thì gần như không thể, còn tải một file mẫu trên mạng về thì vừa chậm vừa không biết bên trong có gì. Công cụ này sinh file ngay trên máy với kích thước bạn đặt, nội dung bạn chọn, và bạn biết chắc từng byte trong đó là gì.
Lợi ích khi sử dụng
- Biết chính xác file có bao nhiêu byte, không phải đoán từ con số làm tròn mà Windows hay điện thoại hiển thị
- Thử được cả phía trên và phía dưới giới hạn tải lên chỉ với một lần bấm nhờ hai file lệch 1 byte
- Chọn đúng loại nội dung cho bài thử: file nén được hay không nén được cho kết quả rất khác khi đo tốc độ
- Không cần mở dòng lệnh, không cần quyền quản trị, dùng được trên máy công ty bị khóa cài phần mềm
- Dữ liệu sinh ngay trên máy, không phải tải file mẫu không rõ nguồn gốc từ trang lạ
- Tạo file vài chục GB trên Chrome, Edge mà máy vẫn chạy mượt vì dữ liệu được ghi dần xuống ổ đĩa
Cách tạo file đúng dung lượng
- 1Bấm một mốc trong Chọn nhanh, hoặc gõ con số vào ô Dung lượng rồi chọn Đơn vị (B, KB, MB, GB).
- 2Ở ô Cách tính, chọn Hệ 1000 nếu giới hạn bạn cần thử ghi theo kiểu nhà sản xuất ổ cứng, hoặc Hệ 1024 nếu theo kiểu Windows và cấu hình máy chủ. Ô viền vàng hiện số byte chính xác.
- 3Chọn Nội dung file: Toàn số 0, Ngẫu nhiên hoặc Lặp một chuỗi (gõ chuỗi vào ô Chuỗi lặp).
- 4Đặt Tên file, chọn Đuôi file và Số file. Đánh dấu Kèm 2 file lệch 1 byte nếu muốn thử điểm cắt của giới hạn.
- 5Bấm Tạo và tải về (một file) hoặc Tạo và tải ZIP (nhiều file). Với file lớn trên Chrome, Edge máy tính, bấm Ghi thẳng ra ổ đĩa và chọn nơi lưu trước.
- 6Theo dõi thanh tiến độ, bấm Hủy nếu muốn dừng. Khi xong, khung màu xanh cho biết tên file, tổng số byte và thời gian tạo.
Hệ 1000 và hệ 1024: vì sao cùng một file lại có hai con số
Theo hệ đơn vị quốc tế SI, tiền tố kilo nghĩa là 1.000, mega là 1.000.000, giga là 1.000.000.000. Nhà sản xuất ổ cứng, thẻ nhớ và macOS (từ bản 10.6 Snow Leopard) tính theo cách này. Windows và nhiều phần mềm cũ lại tính 1 KB = 1.024 byte, 1 MB = 1.048.576 byte, nhưng vẫn ghi chữ KB, MB. Để tách bạch, năm 1998 IEC đưa ra các tiền tố nhị phân KiB, MiB, GiB (kibibyte, mebibyte, gibibyte), nhưng Windows đến nay vẫn chưa dùng. Hệ quả quen thuộc: ổ cứng ghi 1 TB (1.000.000.000.000 byte) hiện trên Windows chỉ khoảng 931 GB. Khi thử giới hạn tải lên, hãy xem giới hạn đó được viết theo hệ nào. Cấu hình PHP như upload_max_filesize = 2M hiểu M là 1.048.576 byte, nên muốn thử đúng mốc này bạn chọn Hệ 1024. Nếu một dịch vụ ghi giới hạn 25 MB mà không nói rõ, hãy tạo cả hai bản 25 MB hệ 1000 và hệ 1024 để xem bản nào lọt.
Toàn số 0, ngẫu nhiên hay lặp chuỗi: chọn nội dung nào
File toàn số 0 tạo nhanh nhất và đủ dùng khi bạn chỉ cần thử giới hạn dung lượng hoặc xem ổ đĩa có ghi được file lớn không. Nhược điểm là nó nén cực tốt: thuật toán Deflate trong ZIP và gzip có thể ép dữ liệu toàn số 0 nhỏ đi khoảng một nghìn lần, nên khi đường truyền hay phần mềm sao lưu có nén, lượng dữ liệu thật đi qua mạng nhỏ hơn rất nhiều so với kích thước file. Byte ngẫu nhiên thì ngược lại, gần như không thể nén, đóng ZIP còn có thể lớn hơn chút vì thêm phần đầu. Đây là lựa chọn đúng khi đo tốc độ tải lên, thử băng thông VPN hay xem dịch vụ đám mây có khử trùng lặp dữ liệu không. Dữ liệu ngẫu nhiên ở đây lấy từ crypto.getRandomValues chỉ để lấp đầy file, không phải kết quả đo nào cả. Lặp chuỗi cho ra file văn bản thật, hợp để thử ô tải lên chỉ nhận .txt, .csv, .log hoặc để mở bằng trình soạn thảo xem nội dung.
Đuôi file không làm nên định dạng
Đổi đuôi một file thành .pdf không biến nó thành PDF. Một file PDF thật bắt đầu bằng chuỗi %PDF, ảnh PNG bắt đầu bằng 8 byte cố định, file .docx thực chất là ZIP nên bắt đầu bằng PK. Những byte đầu này gọi là magic bytes, phần mềm dùng chúng để nhận dạng. File do công cụ này tạo với đuôi .pdf hay .jpg chỉ mang cái tên đó, mở bằng trình đọc PDF hay xem ảnh sẽ báo lỗi. Điều này lại có ích theo một cách khác: nếu hệ thống của bạn nhận file .jpg này mà không than phiền gì, nghĩa là nó chỉ kiểm tra đuôi, chưa kiểm tra nội dung. Với website cho người lạ tải lên, đó là chỗ nên siết lại. Riêng .txt với nội dung Lặp một chuỗi là file văn bản hợp lệ thật, vì văn bản thuần không có phần đầu bắt buộc.
Thử giới hạn tải lên cho đúng: điểm cắt và phần thừa của request
Lỗi giới hạn thường nằm ở biên: lập trình viên viết nhỏ hơn thay vì nhỏ hơn hoặc bằng, hoặc phía trình duyệt kiểm tra một kiểu, phía máy chủ kiểm tra kiểu khác. Bộ ba file đúng mốc, thiếu 1 byte và thừa 1 byte cho bạn thấy ngay giới hạn được cài ở đâu. Cần nhớ thêm một chi tiết: form tải file gửi dữ liệu dạng multipart, có thêm chuỗi phân cách và phần đầu mô tả cho mỗi file, nên tổng request lớn hơn file vài trăm byte. Các giới hạn tính trên toàn bộ request như post_max_size của PHP (mặc định 8M) hay client_max_body_size của Nginx (mặc định 1m, vượt thì trả lỗi 413 Request Entity Too Large) sẽ chặn một file có kích thước bằng đúng giới hạn. Nếu file đúng mốc bị từ chối mà file thiếu 1 byte cũng bị từ chối, nhiều khả năng giới hạn đang áp vào cả request chứ không phải riêng file.
File lớn trên trình duyệt: tải về thường và ghi thẳng ra ổ đĩa
Cách Tạo và tải về dựng file thành một Blob rồi để trình duyệt lưu như một lượt tải bình thường. Dữ liệu được ghép từ các khối 1 MiB, với nội dung toàn số 0 thì các khối đầy dùng chung một vùng nhớ, nhưng dữ liệu ngẫu nhiên vẫn phải giữ đủ trong bộ nhớ của trình duyệt cho tới khi lưu xong. Vì vậy công cụ giới hạn cách này ở 1 GiB mỗi file, và trên điện thoại nên dùng mốc nhỏ hơn nhiều. Nút Ghi thẳng ra ổ đĩa dùng File System Access API: bạn chọn nơi lưu trước, công cụ sinh từng khối 1 MiB và ghi xuống ngay, dùng xong khối nào bỏ khối đó, nên tạo được file tới 50 GiB. Nút này chỉ hiện trên trình duyệt hỗ trợ API đó, thường là Chrome, Edge, Opera trên máy tính; Firefox và Safari chưa có. Trước khi tạo file vài chục GB, hãy chắc ổ đĩa còn đủ chỗ.
Nhiều file trong một ZIP không nén
Khi Số file lớn hơn 1 hoặc bật hai file lệch 1 byte, công cụ gom tất cả vào một file ZIP với phương thức STORE, tức là chỉ đóng gói chứ không nén. Mỗi file bên trong vì thế giữ nguyên số byte bạn đặt; giải nén ra là có đúng các file đó. File ZIP lớn hơn tổng các file một chút vì có phần đầu cho từng mục và mục lục ở cuối. Mỗi file có nội dung riêng: với chế độ ngẫu nhiên, hai file cùng cỡ vẫn khác nhau hoàn toàn, tiện để thử hệ thống khử trùng lặp. Vì ZIP được dựng trong bộ nhớ, tổng dung lượng các file bị giới hạn ở 200 MiB. Cần nhiều file lớn hơn thì tạo từng file một.
So với lệnh fsutil, truncate, dd
Trên Windows, lệnh fsutil file createnew tên-file số-byte tạo file toàn số 0 rất nhanh nhưng có thể đòi mở cửa sổ dòng lệnh bằng quyền quản trị. Trên Linux, truncate -s tạo file thưa (sparse): kích thước khai báo đúng nhưng hầu như không chiếm chỗ trên ổ, hợp để thử phần mềm nhưng sai nếu bạn muốn lấp đầy ổ đĩa. Lệnh dd hoặc head -c đọc từ /dev/urandom cho file ngẫu nhiên thật. macOS có lệnh mkfile. Các lệnh này mạnh và nhanh hơn trình duyệt, nhưng cần quen dòng lệnh, đôi khi cần quyền mà máy công ty không cấp, và không có sẵn trên điện thoại. Công cụ này hợp khi bạn cần một file nhanh, có nội dung rõ ràng, hoặc phải hướng dẫn người khác làm theo mà không bắt họ mở terminal.
Câu hỏi thường gặp (FAQ)
Làm sao tạo file dung lượng lớn để test upload?
Nhập dung lượng, chọn đơn vị và cách tính, rồi bấm Tạo và tải về. Với file trên 1 GiB, dùng Chrome hoặc Edge trên máy tính và bấm Ghi thẳng ra ổ đĩa, công cụ sẽ ghi từng khối nên tạo được tới 50 GiB. Trình duyệt khác giới hạn ở 1 GiB mỗi file.
Tạo file dung lượng ảo là gì, file này có chiếm chỗ thật không?
Người ta hay gọi file dùng để thử nghiệm, không có nội dung có ích, là file ảo hay file giả. File do công cụ này tạo là file thật: mỗi byte đều được ghi ra, nên nó chiếm đúng dung lượng đó trên ổ đĩa. Khác với file thưa tạo bằng lệnh truncate trên Linux, vốn chỉ khai báo kích thước mà gần như không chiếm chỗ.
Tôi muốn file đúng 10 MB thì chọn hệ 1000 hay 1024?
Tùy giới hạn bạn đang thử được định nghĩa thế nào. Cấu hình PHP, Nginx và cách Windows hiển thị dùng hệ 1024, tức 10 MB là 10.485.760 byte. Nhiều dịch vụ web và nhà sản xuất thiết bị dùng hệ 1000, tức 10.000.000 byte. Không rõ thì tạo cả hai rồi thử.
Vì sao file 10 MB tạo ra mà Windows chỉ hiện 9,5 MB?
Vì bạn đã chọn hệ 1000, file có 10.000.000 byte, còn Windows chia cho 1.048.576 nên ra khoảng 9,54 và làm tròn theo cách riêng của nó. File không thiếu byte nào. Mở Properties của file trên Windows sẽ thấy dòng số byte chính xác khớp với con số công cụ báo.
Có tạo được file PDF, JPG, Word đúng dung lượng không?
Không. Công cụ chỉ đặt đuôi theo ý bạn, bên trong vẫn là byte 0, byte ngẫu nhiên hoặc văn bản lặp, nên mở bằng trình đọc PDF hay xem ảnh sẽ báo lỗi. File như vậy chỉ thử được hệ thống kiểm tra đuôi. Muốn file PDF hay ảnh hợp lệ có dung lượng lớn, bạn cần một file thật rồi nén hoặc chèn thêm nội dung bằng công cụ khác.
File .txt tạo ra mở bằng Notepad được không?
Được nếu bạn chọn nội dung Lặp một chuỗi: đó là văn bản UTF-8 hợp lệ, kể cả khi lần lặp cuối bị cắt giữa một chữ có dấu, vì phần byte dở dang được thay bằng dấu cách. Nếu chọn Toàn số 0 hay Ngẫu nhiên với đuôi .txt, trình soạn thảo sẽ hiện ký tự lạ hoặc ô trống. File rất lớn, vài trăm MB trở lên, có thể làm Notepad mở chậm hoặc treo.
Nên chọn nội dung toàn số 0 hay ngẫu nhiên để đo tốc độ tải lên?
Chọn Ngẫu nhiên. Dữ liệu toàn số 0 nén được khoảng một nghìn lần, nên nếu đường truyền, VPN hay phần mềm đồng bộ có nén thì lượng dữ liệu thật đi qua mạng rất nhỏ và tốc độ đo được cao giả. Byte ngẫu nhiên không nén được nên phản ánh đúng băng thông.
Dữ liệu ngẫu nhiên có an toàn không, có phải dữ liệu thật của ai đó không?
Không phải dữ liệu của ai cả. Công cụ gọi hàm crypto.getRandomValues của trình duyệt để sinh byte ngẫu nhiên ngay trên máy bạn, chỉ để lấp đầy file. Nội dung này không mang thông tin gì và không được gửi đi đâu.
Tối đa tạo được file bao nhiêu GB?
Tải về thường tối đa 1 GiB mỗi file. Ghi thẳng ra ổ đĩa trên Chrome, Edge máy tính tối đa 50 GiB mỗi file, miễn ổ còn đủ chỗ. Nhiều file gom ZIP thì tổng tối đa 200 MiB. Các giới hạn này đặt ra để trình duyệt không bị treo hay hết bộ nhớ.
Tại sao không thấy nút Ghi thẳng ra ổ đĩa?
Nút này cần File System Access API, hiện có trên Chrome, Edge và Opera bản máy tính. Firefox, Safari và đa số trình duyệt điện thoại chưa hỗ trợ nên nút bị ẩn. Nút cũng ẩn khi bạn tạo nhiều file, vì khi đó công cụ gom vào ZIP.
Hai file lệch 1 byte dùng để làm gì?
Để thử chính xác điểm cắt của giới hạn. Nếu giới hạn là 5 MB, bạn tải lên lần lượt file thiếu 1 byte, file đúng mốc và file thừa 1 byte. Kết quả cho biết hệ thống dùng phép so sánh nhỏ hơn hay nhỏ hơn hoặc bằng, và giới hạn tính theo hệ 1000 hay 1024.
Vì sao file đúng bằng giới hạn vẫn bị từ chối?
Thường vì giới hạn áp vào toàn bộ request chứ không chỉ file. Form tải lên gửi dữ liệu dạng multipart có thêm chuỗi phân cách, tên trường và phần đầu cho mỗi file, nên request lớn hơn file vài trăm byte. post_max_size của PHP và client_max_body_size của Nginx là kiểu giới hạn này.
Tạo file trên điện thoại được không?
Được với file vừa phải, ví dụ vài chục tới vài trăm MB. Điện thoại có ít bộ nhớ cho mỗi tab trình duyệt, nên tạo file gần 1 GiB có thể làm tab tải lại giữa chừng. Trình duyệt điện thoại thường không có nút Ghi thẳng ra ổ đĩa.
File có được tải lên máy chủ của trang không?
Không. File được sinh bằng JavaScript ngay trong trình duyệt và lưu thẳng xuống máy bạn. Trang không gửi nội dung, tên file hay dung lượng bạn chọn về máy chủ nào.
Vì sao file ZIP lớn hơn tổng các file bên trong?
ZIP thêm phần đầu cho từng file (tên, kích thước, mã kiểm tra CRC-32) và một mục lục ở cuối. Với phương thức STORE không nén, phần thêm này chỉ vài chục tới vài trăm byte mỗi file. Giải nén ra, mỗi file vẫn đúng số byte bạn đặt.
Có dùng file này để lấp đầy ổ đĩa, thử báo động hết dung lượng được không?
Được, dùng nút Ghi thẳng ra ổ đĩa để tạo file lớn, mỗi file tới 50 GiB. Hãy chừa lại một khoảng trống cho hệ điều hành và nhớ xóa file khi thử xong. Ổ hệ thống bị đầy hoàn toàn có thể làm máy chạy chập chờn.
Bấm Hủy giữa chừng thì sao?
Với tải về thường, phần đã tạo bị bỏ và không có file nào được lưu. Với ghi thẳng ra ổ đĩa, công cụ hủy luồng ghi và phần dữ liệu chưa hoàn tất bị bỏ, nhưng ở nơi lưu có thể còn một file rỗng mang tên bạn đã chọn. Hãy mở thư mục đó kiểm tra và xóa nếu có.
Từ khóa liên quan
- tạo file dung lượng
- tạo file dung lượng lớn
- tạo file dung lượng ảo
- tạo file theo dung lượng mong muốn
- tạo file test upload
- tạo file 10mb
- tạo file 100mb
- tạo file 1gb
- file test dung lượng
- tạo file rỗng dung lượng lớn
- tạo file ngẫu nhiên
- dummy file generator
- test file generator
- fsutil file createnew
- tạo file có kích thước cố định
- test giới hạn upload
- upload_max_filesize
- client_max_body_size 413
- 1 MB bằng bao nhiêu byte
- MB và MiB khác nhau
- file mẫu để test tải lên
- tạo file zip nhiều file