From dc5b2a9e54b6cf17bb137bab2180b49f370b26e8 Mon Sep 17 00:00:00 2001 From: fengbojiang Date: Fri, 3 Aug 2018 18:16:06 +0800 Subject: [PATCH] Add the result of reuseport test case. --- Bandwidth.png | Bin 0 -> 25246 bytes CPS.png | Bin 0 -> 12609 bytes CPS_Reuseport.png | Bin 0 -> 25667 bytes README.md | 11 ++++++++--- RPS.png | Bin 0 -> 29886 bytes 5 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 Bandwidth.png create mode 100644 CPS.png create mode 100644 CPS_Reuseport.png create mode 100644 RPS.png diff --git a/Bandwidth.png b/Bandwidth.png new file mode 100644 index 0000000000000000000000000000000000000000..78941b83a22d223afce102c4bfbc589b2c9ba771 GIT binary patch literal 25246 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 aJE5&_+j43syqN_41Yl~~s+A9)z4~8ic4l$_ literal 0 HcmV?d00001 diff --git a/CPS_Reuseport.png b/CPS_Reuseport.png new file mode 100644 index 0000000000000000000000000000000000000000..e969e01cbcb6e8cec99cbc42f37354c51acd2a7d GIT binary patch literal 25667 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index d00ef247..f540a5fb 100644 --- a/README.md +++ b/README.md @@ -120,19 +120,24 @@ Nginx uses linux kernel's default config, all soft interrupts are working in the Nginx si means modify the smp_affinity of every IRQ, so that the decision to service an interrupt with a particular CPU is made at the hardware level, with no intervention from the kernel. +Nginx Reuseport means enable "reuseport" in `nginx.conf`. + Nginx_FStack's 600 cache bytes' body was returned directly in nginx.conf. All of these test cases use CPUs' physical cores. CPS (Connection:close, Small data packet) test result -![](http://i.imgur.com/PvCRmXR.png) +![](CPS.png) + +CPS_Reuseport (Connection:close, Small data packet) test result, This test case runs in a different test environment +![](CPS_Reuseport.png) RPS (Connection:Keep-Alive, Small data packet) test data -![](http://i.imgur.com/CTDPx3a.png) +![](RPS.png) Bandwidth (Connection:Keep-Alive, 3.7k bytes data packet) test data -![](http://i.imgur.com/1ZM6yT9.png) +![](Bandwidth.png) ## Licenses See [LICENSE](LICENSE) diff --git a/RPS.png b/RPS.png new file mode 100644 index 0000000000000000000000000000000000000000..3429b8cd5d1656dc20f13a516aa1093991a44cfc GIT binary patch literal 29886 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 literal 0 HcmV?d00001