Tôi đã tạo một tệp trống 500 MB trên Windows 10 bằng cách sử dụng CMD fsutil file createnew <filename> <length>
và tôi đã tải nó lên hai máy chủ:
- Máy chủ chuyên dụng Ubuntu 16.04 LTS với PHP 7.1.3-2 + deb.sury.org ~ xenial + 1 và Apache / 2.4.25. Đây là máy chủ hoàn toàn mới, không được cấu hình.
- Một số lưu trữ chia sẻ ngẫu nhiên.
Khi tôi cố tải xuống từ máy chủ chuyên dụng, sẽ mất một lúc (khoảng 2 phút) nhưng khi tôi cố tải xuống từ lưu trữ được chia sẻ thì điều đó xảy ra ngay lập tức trong 1 giây.
Vì vậy, tôi đoán rằng họ đã kích hoạt một số loại nén phát hiện ra rằng tệp bao gồm tất cả các số không ("00000000 ...") và họ có thể gửi nó trong một giây.
Làm cách nào tôi có thể kích hoạt kiểu nén này trong Apache của mình? mod_deflate
được bật theo mặc định trên Ubuntu vì vậy đây không phải là điều tôi tin.
Đây là làm rõ:
- Trong cả hai trường hợp, kích thước tệp trong thư mục "Tải xuống" của tôi là 500 MB. Một số người đề xuất rằng tôi đã tải xuống tệp 0 MB trong 1 giây: Không.
- Cả hai máy chủ đều được kết nối với kết nối 1 Gbps và tôi chỉ kết nối với ~ 40 mbit / s nên tất nhiên sẽ không có khả năng tôi tải xuống 500 MB trong 1 giây.
- Thời gian tải xuống từ lưu trữ được chia sẻ là 1 giây (có thể là 2). Nó xảy ra ngay lập tức.
- Khi tôi tải lên hoặc tải xuống tệp 500 MB này qua FTP thì trong cả hai trường hợp, phải mất một thời gian dài (hơn 2 phút). Chỉ thông qua HTTP, sự khác biệt là 1 giây so với 2 phút.
Tôi chắc chắn rằng nhiều máy chủ lưu trữ được chia sẻ có hành vi này vì vậy nếu ai đó có quyền truy cập vào Bluehost, Godaddy, v.v. thì họ có thể thử điều này và tôi chắc chắn họ cũng sẽ tải xuống 1 giây trên tệp trống 500 MB trên một số tệp được chia sẻ và cấu hình tốt lưu trữ.