squeaky-pl / japronto

Screaming-fast Python 3.5+ HTTP toolkit integrated with pipelining HTTP server based on uvloop and picohttpparser.
MIT License
8.61k stars 581 forks source link

How to test on server for performance check ? #92

Closed tejastank closed 6 years ago

tejastank commented 6 years ago

I had VPS and installed python3 .5 and Japronto.

Now how can I check does it able to manage lot many requests.

Need to test its performance, how can I ?

My Test

Created Test Sample file and run it with "hello world"

than fire below command with result.

ab -c 400 -n 100000 http://0.0.0.0:8080/ This is ApacheBench, Version 2.3 <$Revision: 1706008 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 0.0.0.0 (be patient) Completed 10000 requests Completed 20000 requests Completed 30000 requests Completed 40000 requests Completed 50000 requests Completed 60000 requests Completed 70000 requests Completed 80000 requests Completed 90000 requests Completed 100000 requests Finished 100000 requests

Server Software:
Server Hostname: 0.0.0.0 Server Port: 8080

Document Path: / Document Length: 12 bytes

Concurrency Level: 400 Time taken for tests: 11.587 seconds Complete requests: 100000 Failed requests: 0 Total transferred: 9200000 bytes HTML transferred: 1200000 bytes Requests per second: 8630.56 [#/sec] (mean) Time per request: 46.347 [ms] (mean) Time per request: 0.116 [ms] (mean, across all concurrent requests) Transfer rate: 775.40 [Kbytes/sec] received

Connection Times (ms) min mean[+/-sd] median max Connect: 0 20 134.7 3 3005 Processing: 5 26 10.0 25 242 Waiting: 4 20 8.7 19 234 Total: 9 45 136.2 28 3033

Percentage of the requests served within a certain time (ms) 50% 28 66% 32 75% 35 80% 36 90% 42 95% 47 98% 58 99% 1029 100% 3033 (longest request)

What it mean ? Does I consider it good or bad result ?

Than I done again next test

ab -c 2 -n 100000 http://0.0.0.0:8080/ (Note: Apache taken 273.538 #seconds) This is ApacheBench, Version 2.3 <$Revision: 1706008 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 0.0.0.0 (be patient) Completed 10000 requests Completed 20000 requests Completed 30000 requests Completed 40000 requests Completed 50000 requests Completed 60000 requests Completed 70000 requests Completed 80000 requests Completed 90000 requests Completed 100000 requests Finished 100000 requests

Server Software:
Server Hostname: 0.0.0.0 Server Port: 8080

Document Path: / Document Length: 12 bytes

Concurrency Level: 2 Time taken for tests: 17.570 seconds Complete requests: 100000 Failed requests: 0 Total transferred: 9200000 bytes HTML transferred: 1200000 bytes Requests per second: 5691.42 [#/sec] (mean) Time per request: 0.351 [ms] (mean) Time per request: 0.176 [ms] (mean, across all concurrent requests) Transfer rate: 511.34 [Kbytes/sec] received

Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.0 0 5 Processing: 0 0 0.1 0 8 Waiting: 0 0 0.1 0 8 Total: 0 0 0.1 0 8

Percentage of the requests served within a certain time (ms) 50% 0 66% 0 75% 0 80% 0 90% 0 95% 0 98% 1 99% 1 100% 8 (longest request)

Is that wounderful or I do other way to test ?

OS and Platform

Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 2 Core(s) per socket: 2 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 37 Model name: Intel(R) Core(TM) i5 CPU M 430 @ 2.27GHz Stepping: 2 CPU MHz: 2267.000 CPU max MHz: 2267.0000 CPU min MHz: 1199.0000 BogoMIPS: 4521.49 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 3072K NUMA node0 CPU(s): 0-3 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm tpr_shadow vnmi flexpriority ept vpid dtherm ida arat

6GB RAM.

*** Note: Peronally compare with Apache localhost, its more better result in less time with Japronto, So love be more deeper performance key parameter research on Japronto

Thanks, Tejas Tank SnippetBucket

tejastank commented 6 years ago

@squeaky-pl yes, your japronto great, expect soon new updates

tejastank commented 6 years ago

VERY BADLY DOCUMENT AND POOR UPDATES, NOT WELL MAINTAIN THIS BRANCH.