Lighttpd, nginx và những người khác sử dụng một loạt các kỹ thuật để cung cấp hiệu suất ứng dụng tối đa như AIO, sendfile, MMIO, caching và epoll và khóa cấu trúc dữ liệu miễn phí.Kỹ thuật để cải thiện tỷ lệ giao dịch
Đồng nghiệp của tôi và tôi đã viết một máy chủ ứng dụng nhỏ sử dụng nhiều kỹ thuật này và cũng có thể máy chủ các tệp tĩnh. Vì vậy, chúng tôi đã thử nghiệm nó với băng ghế dự bị apache và so sánh chúng ta với lighttpd và nginx và có ít nhất là phù hợp với hiệu suất cho nội dung tĩnh cho các tệp từ 100 byte đến 1K.
Tuy nhiên, khi chúng ta so sánh tỷ lệ giao dịch qua các tập tin tĩnh cùng với G-WAN, G-WAN là dặm về phía trước.
Tôi biết câu hỏi này có thể hơi chủ quan nhưng kỹ thuật nào ngoài những điều hiển nhiên mà tôi đã đề cập có thể Pierre Gauthier đang sử dụng trong GWAN để có thể đạt được hiệu suất đáng kinh ngạc như vậy?
Thiết kế rõ ràng nhất. Tuy nhiên, thử nghiệm tiếp theo cho thấy tải CPU của tôi vào khoảng 30%. Nút cổ chai có vẻ là card mạng hoặc hạt nhân. GWAN vẫn hoạt động tốt hơn những gì chúng tôi có.Có một số thủ thuật khởi tạo đặc biệt có liên quan đến việc nâng cấp các gói/s thông qua card mạng không? – Matt
Nếu nút cổ chai là hạt nhân thì G-WAN không thể nhanh hơn các mạng khác. Tải CPU của G-WAN thấp hơn vì mã * chế độ người dùng * của nó nhanh hơn nhiều. ** hello.c ** servlet không chạm vào đĩa sao cho hạt nhân không liên quan đến việc tải một tệp - và ở đây cũng G-WAN nhanh hơn mô-đun nginx (không giống như các servlet G-WAN, KHÔNG được nạp động vì vậy nó sẽ có một lợi thế). Mã nhanh hơn, gọn hơn và kiến trúc chương trình tốt hơn. Đó là tất cả những gì G-WAN là về. – Gil