Tôi có một dịch vụ REST đơn giản được thiết lập để xử lý nguyên bản (có thể thực thi độc lập) với tốc độ 135k/rps.
Dịch vụ đang chạy trên localhost:8181
điểm chuẩn autocannon chạy từ sản lượng máy riêng biệt:
âââââââââââââ¬ââââ ââââââ¬ââââââââââ¬â âââââââââ¬âââââââ âââ¬âââââââââââ¬âââ ââââââââ¬âââââââââ â
â Stat â 1% â 2,5% â 50% â 97,5% â Trung bình â Stdev â Min â
âââââââââââââ¼ââââ ââââââ¼ââââââââââ¼ââ ââââââââ¼âââââââââ â¼âââââââââââ¼âââââ ââââââ¼ââââââââââ¤
â Req/Sec â 58335 â 58335 â 109247 â 135039 â 106779.2 â 18509.53 â 58312 â
âââââââââââââ¼ââââ ââââââ¼ââââââââââ¼ââ ââââââââ¼âââââââââ â¼âââââââââââ¼âââââ ââââââ¼ââââââââââ¤
â Byte/Sec â 9,74 MB â 9,74 MB â 18,3 MB â 22,5 MB â 17,8 MB â 3,09 MB â 9,74 MB â
âââââââââââââ´ââââ ââââââ´ââââââââââ´â âââââââââ´âââââââ âââ´âââââââââââ´âââ ââââââââ´âââââââââ â
Khi được ủy quyền với thiết lập ngược dòng cơ bản thông qua nginx, hiệu suất giảm đáng kể:
âââââââââââââ¬ââââ ââââââ¬ââââââââââ¬â âââââââââ¬âââââââ âââ¬âââââââââââ¬âââ âââââââ¬ââââââââââ ┅
â Stat â 1% â 2,5% â 50% â 97,5% â Trung bình â Stdev â Min â
âââââââââââââ¼ââââ ââââââ¼ââââââââââ¼ââ ââââââââ¼âââââââââ â¼âââââââââââ¼âââââ âââââ¼ââââââââââ¤
â Req/Sec â 13359 â 13359 â 14991 â 19103 â 15767,12 â 1878,98 â 13352 â
âââââââââââââ¼ââââ ââââââ¼ââââââââââ¼ââ ââââââââ¼âââââââââ â¼âââââââââââ¼âââââ âââââ¼ââââââââââ¤
â Byte/Sec â 2,53 MB â 2,53 MB â 2,83 MB â 3,61 MB â 2,98 MB â 355 kB â 2,52 MB â
âââââââââââââ´ââââ ââââââ´ââââââââââ´â âââââââââ´âââââââ âââ´âââââââââââ´âââ âââââââ´ââââââââââ bạn
Đây là các cấu hình nginx của tôi (tôi đã thử nghiệm một chút, dẫn đến những cải tiến rất nhỏ):
nginx.conf
dữ liệu www của người dùng;
worker_processes tự động;
pid /run/nginx.pid;
bao gồm /etc/nginx/modules-enabled/*.conf;
sự kiện {
công_nhân kết_nối 768 ;
multi_accept on;
}
http {
open_file_cache max=200000 không hoạt động=20 giây;
open_file_cache_valid 30 giây;
open_file_cache_min_uses 2;
open_file_cache_errors bật;
truy cập_đăng xuất;
lỗi_đăng xuất;
gửi tệp trên;
bật tcp_nopus;
tắt tcp_nodelay;
keepalive_timeout 35;
loại_hash_max_size 2048;
client_max_body_size 100M;
bao gồm /etc/nginx/mime.types;
ứng dụng default_type/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
bật ssl_prefer_server_ciphers;
gzip tắt;
gzip_min_length 10240;
gzip_comp_level 1;
bật gzip_vary;
gzip_disable msie6;
gzip_proxied đã hết hạn xác thực riêng tư không lưu trữ bộ đệm;
server_tokens tắt;
bao gồm /etc/nginx/conf.d/*.conf;
bao gồm /etc/nginx/sites-enabled/*;
}
kích hoạt trang web/reverse-proxy.conf
ngược dòng pindap_api {
less_conn;
máy chủ cục bộ: 8181;
}
người phục vụ {
nghe 80;
tên_máy chủ api.pindap;
truy cập_đăng xuất;
lỗi_đăng xuất;
địa điểm / {
tắt proxy_buffering;
proxy_pass http://pindap_api;
}
}
người phục vụ {
nghe 80;
máy chủ_tên pindap;
truy cập_đăng xuất;
lỗi_đăng xuất;
địa điểm / {
tắt proxy_buffering;
proxy_pass http://localhost:8181;
}
}
Điều gì có thể là nguyên nhân của việc này? Tôi có thể thử những gì khác?