2010-08-31 33 views
27

Nếu chúng tôi:
1) Đếm byte/bit ở cấp bộ điều hợp mạng (số bit thông qua NIC) và,
2) Đếm byte trong tất cả các yêu cầu/phản hồi HTTP/S.% lưu lượng truy cập là phí trên mạng trên yêu cầu HTTP/S

Giả sử chỉ HTTP/S giao thông trên hộp, và giả sử một số lượng có liên quan về mặt thống kê của "điển hình" lưu lượng web:

Tôi muốn biết về cách nhiều hơn nữa giao thông sẽ được tính ở mức NIC hơn tại mức HTTP/S (đếm các tiêu đề http và tất cả) vì chi phí mạng bổ sung.

+0

Chỉ với các bit/byte của chi phí TCP/IP (vì vậy KHÔNG bao gồm phí bổ sung của HTTP/S, cũng như không tính toán phí trên dưới dạng%), tôi đã tìm thấy câu trả lời https://stackoverflow.com/questions/8902583/tối thiểu-tcp-ip-overhead-over-ethernet-frames/8902667 # answer-8902667 hữu ích. –

Trả lời

20

Bạn không có kiến ​​thức về các lớp bên dưới HTTP. Bạn thậm chí không thể giả định yêu cầu HTTP sẽ được gửi qua TCP/IP. Thậm chí nếu nó là, bạn không có kiến ​​thức về chi phí được thêm vào bởi các lớp mạng. Hoặc những gì độ tin cậy của tuyến đường sẽ được và những gì trên cao sẽ là do giảm/resent gói.

Cập nhật: Dựa trên nhận xét của bạn, đây là một số back-of-the-khăn ăn ước tính:

Các maximum segment size (mà không bao gồm các giao thức TCP hoặc tiêu đề IP) thường được đàm phán giữa các lớp với kích thước của MTU trừ đi kích thước tiêu đề. Đối với Ethernet MTU thường được cấu hình ở 1500 byte. TCP header là 160 bit hoặc 20 byte. Phần cố định của IPv4 header là 160 bit hoặc 20 byte. Phần cố định của IPv6 header là 320 bit hoặc 40 byte.Như vậy:

  • cho HTTP over TCP/IPv4

overhead = TCP + IP = 40 byte

tải trọng = 1500-1540 = 1460 byte

overhead% = 2% (40 * 100/1460)

  • cho HTTP qua TCP/IPv6

overhead = TCP + IP = 60 byte

tải trọng = 1500-1560 = 1440 byte

overhead% = 4% (60 * 100/1440)

Dưới đây là các giả định:

  • Amazon tính trọng tải của NIC không có tiêu đề Ethernet, không phải toàn bộ gói NIC
  • phản hồi HTTP của bạn hoàn toàn được sử dụng g gói TCP/IP - kích thước trang tiêu chuẩn + HTTP của bạn kết quả trong một hoặc nhiều gói TCP/IP đầy đủ và một với hơn 50% trọng tải đã sử dụng
  • bạn đặt ngày hết hạn rõ ràng trên nội dung được lưu trữ để giảm thiểu 302 phản hồi
  • bạn tránh các chuyển hướng hoặc URL của bạn đủ dài để điền vào trọng tải
+0

Câu hỏi của tôi nảy sinh vì tôi chạy một máy chủ trên đám mây EC2 của amazon. Họ đếm byte tại NIC, tôi nhận được một bản ghi của byte ở cấp HTTP trên máy chủ của tôi. Tôi muốn đưa ra một đánh giá cao về việc xác định số tiền họ sẽ đếm nhiều hơn tôi sẽ thấy trên nhật ký. Với tất cả các biến, tôi chỉ muốn đưa một số hợp lý vào một số ước tính. Giả sử một lượng lớn lưu lượng truy cập điển hình, điều này có thể xảy ra. –

+0

Đó chính là tóm tắt mà tôi đang tìm kiếm, và các giả định bạn liệt kê cung cấp một số thức ăn tuyệt vời cho tư tưởng. Thực sự đánh giá cao nó! –

+0

Tôi có cùng một câu hỏi, ngoại trừ việc tôi đang sử dụng chuyển tập tin giữa hai hệ thống Linux qua Bluetooth (máy chủ http python ở phía máy chủ, wget ở phía máy khách, giao diện vật lý là bluetooth). Và sau đó có tiêu đề bluetooth là tốt. Bất kỳ ý tưởng thô? – Hamzahfrq

1

Phí bổ sung của mạng bổ sung là bao nhiêu? chi phí TLS trên đầu số tiền HTTP để trao đổi khóa. Nó chủ yếu là xử lý trên đầu mà bạn nhận thấy.

http://en.wikipedia.org/wiki/HTTP_Secure#Difference_from_HTTP

xuống dòng (sau khi máy chủ) wan gia tốc hoặc proxy sẽ đối xử với differen't giao thông của bạn vì nó không phải là khả năng lưu nhớ hoặc nén.

+0

Tôi có khuynh hướng đồng ý. –

+0

Tôi muốn hỏi về chi phí TCP/IP không phải HTTPS và HTTP.Giả sử lưu lượng HTTP và HTTPS điển hình, chi phí TCP/IP thông thường sẽ được tính ở mức giám sát NIC so với số lượng byte HTTP sẽ được tính bởi máy chủ. –

7

Với Ethernet 100Mbit/s, một tệp lớn chuyển ở 94,1Mbit/s.

Đó là phí 6%. Nếu bạn cũng đếm TCP ACK chảy theo hướng ngược lại, nó gần 9%. Đối với Gigabit Ethernet, chi phí (tính theo phần trăm) vẫn giữ nguyên. Giả định: TCP/IPv4 và kích thước tệp> 100kB. (Ở kích thước này chúng ta có thể bỏ qua thiết lập HTTP và TCP ban đầu.)

Khi so sánh tỷ lệ tải xuống, hãy cẩn thận yếu tố 8 từ bit thành byte. Tôi đoán không ai sẽ tính phí bạn cho khoảng trống Ethernet hoặc khoảng cách interframe, nhưng "trọng tải" không nên được thực hiện theo nghĩa đen.

tính: tải trọng/tổng
tải trọng = 1500 - 20 - 32 (Ethernet_MTU - IPv4 - TCP)
tổng = 8 + 14 + 1500 + 4 + 12 (Preamble + Ethernet_header + Ethernet_MTU + CRC + Interframe_gap)

Bởi vì Ethernet luôn là chế độ song công trong những ngày này, thỉnh thoảng TCP ACK truyền theo cách khác không thay đổi tốc độ truyền. Nếu bạn thêm một ACK cho mỗi hai khung dữ liệu lên trên đầu (đó là những gì tôi quan sát được trong Wireshark), bạn sẽ nhận được tổng chi phí 8,5%. Và trong khi kích thước MTU thường là 1500 byte, nó có thể nhỏ hơn trong một số mạng, hoặc lớn hơn nhiều nếu mọi phần của thiết bị trong đường dẫn được cấu hình cho nó.

Các vấn đề liên quan