summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--content/docs/architecture_guide/performance.md4
-rw-r--r--layouts/shortcodes/graph.html4
-rw-r--r--static/performance/applications.csv18
-rw-r--r--static/performance/density.csv14
-rw-r--r--static/performance/ffmpeg.csv4
-rw-r--r--static/performance/fio-tmpfs.csv16
-rw-r--r--static/performance/fio.csv16
-rw-r--r--static/performance/httpd100k.csv26
-rw-r--r--static/performance/httpd10240k.csv24
-rw-r--r--static/performance/iperf.csv8
-rw-r--r--static/performance/redis.csv68
-rw-r--r--static/performance/startup.csv12
-rw-r--r--static/performance/sysbench-cpu.csv4
-rw-r--r--static/performance/sysbench-memory.csv4
-rw-r--r--static/performance/syscall.csv7
-rw-r--r--static/performance/tensorflow.csv4
16 files changed, 120 insertions, 113 deletions
diff --git a/content/docs/architecture_guide/performance.md b/content/docs/architecture_guide/performance.md
index b6286cf95..f31baa5e1 100644
--- a/content/docs/architecture_guide/performance.md
+++ b/content/docs/architecture_guide/performance.md
@@ -85,7 +85,7 @@ For many use cases, fixed memory overheads are a primary concern. This may be
because sandboxed containers handle a low volume of requests, and it is
therefore important to achieve high densities for efficiency.
-{{< graph id="density" url="/performance/density.csv" title="perf.py density --runtime=runc --runtime=runsc" >}}
+{{< graph id="density" url="/performance/density.csv" title="perf.py density --runtime=runc --runtime=runsc" log="true" y_min="100000">}}
The above figure demonstrates these costs based on three sample applications.
This test is the result of running many instances of a container (typically 50)
@@ -134,7 +134,7 @@ supports a variety of platforms. These platforms present distinct performance,
compatibility and security trade-offs. For example, the KVM platform has low
overhead system call interception but runs poorly with nested virtualization.
-{{< graph id="syscall" url="/performance/syscall.csv" title="perf.py syscall --runtime=runc --runtime=runsc-ptrace --runtime=runsc-kvm" log="true" >}}
+{{< graph id="syscall" url="/performance/syscall.csv" title="perf.py syscall --runtime=runc --runtime=runsc-ptrace --runtime=runsc-kvm" y_min="100" log="true" >}}
The above figure demonstrates the time required for a raw system call on various
platforms. The test is implemented by a custom binary which performs a large
diff --git a/layouts/shortcodes/graph.html b/layouts/shortcodes/graph.html
index 9745fa561..73f98ba5d 100644
--- a/layouts/shortcodes/graph.html
+++ b/layouts/shortcodes/graph.html
@@ -104,6 +104,10 @@ d3.csv("{{ .Get "url" }}", function(d, i, columns) {
y_min = 1;
}
+ if ({{ .Get "y_min" | default false }}) {
+ y_min = "{{ .Get "y_min" }}";
+ }
+
var svg = d3.select("#{{ .Get "id" }}"),
margin = {top: 20, right: 20, bottom: 30 + margin_bottom_pad, left: 50},
width = +svg.attr("width") - margin.left - margin.right,
diff --git a/static/performance/applications.csv b/static/performance/applications.csv
index 9a2a873cc..7b4661c60 100644
--- a/static/performance/applications.csv
+++ b/static/performance/applications.csv
@@ -1,13 +1,13 @@
runtime,method,metric,result
-runc,http.node,transfer_rate,3880.44
+runc,http.node,transfer_rate,3814.85
runc,http.node,latency,11.0
-runc,http.node,requests_per_second,901.04
-runc,http.ruby,transfer_rate,3182.51
-runc,http.ruby,latency,17.0
-runc,http.ruby,requests_per_second,597.85
-runsc,http.node,transfer_rate,1617.49
+runc,http.node,requests_per_second,885.81
+runc,http.ruby,transfer_rate,2874.38
+runc,http.ruby,latency,18.0
+runc,http.ruby,requests_per_second,539.97
+runsc,http.node,transfer_rate,1615.54
runsc,http.node,latency,27.0
-runsc,http.node,requests_per_second,375.81
-runsc,http.ruby,transfer_rate,1414.86
+runsc,http.node,requests_per_second,375.13
+runsc,http.ruby,transfer_rate,1382.71
runsc,http.ruby,latency,38.0
-runsc,http.ruby,requests_per_second,265.79
+runsc,http.ruby,requests_per_second,259.75
diff --git a/static/performance/density.csv b/static/performance/density.csv
index bbd4e177e..729b44941 100644
--- a/static/performance/density.csv
+++ b/static/performance/density.csv
@@ -1,7 +1,9 @@
runtime,method,metric,result
-runc,density.empty,memory_usage,2460794.88
-runc,density.node,memory_usage,18692915.2
-runc,density.ruby,memory_usage,18854543.36
-runsc,density.empty,memory_usage,22531850.24
-runsc,density.node,memory_usage,43994398.72
-runsc,density.ruby,memory_usage,51410862.08
+runc,density.empty,memory_usage,4092149.76
+runc,density.node,memory_usage,76709888.0
+runc,density.ruby,memory_usage,45737000.96
+runsc,density.empty,memory_usage,23695032.32
+runsc,density.node,memory_usage,124076605.44
+runsc,density.ruby,memory_usage,106141777.92
+runc,density.redis,memory_usage,1055323750.4
+runsc,density.redis,memory_usage,1076686028.8
diff --git a/static/performance/ffmpeg.csv b/static/performance/ffmpeg.csv
index 05760d642..08661c749 100644
--- a/static/performance/ffmpeg.csv
+++ b/static/performance/ffmpeg.csv
@@ -1,3 +1,3 @@
runtime,metric,result
-runc,run_time,77.705753
-runsc,run_time,84.245589
+runc,run_time,82.000625
+runsc,run_time,88.24018
diff --git a/static/performance/fio-tmpfs.csv b/static/performance/fio-tmpfs.csv
index bdaf1825b..99777d2e4 100644
--- a/static/performance/fio-tmpfs.csv
+++ b/static/performance/fio-tmpfs.csv
@@ -1,9 +1,9 @@
runtime,method,metric,result
-runc,fio.read,bandwidth,4573005824
-runc,fio.write,bandwidth,3253763072
-runsc,fio.read,bandwidth,2572451840
-runsc,fio.write,bandwidth,1125278720
-runc,fio.randread,bandwidth,1139651584
-runc,fio.randwrite,bandwidth,998289408
-runsc,fio.randread,bandwidth,91157504
-runsc,fio.randwrite,bandwidth,83028992
+runc,fio.read,bandwidth,4240686080
+runc,fio.write,bandwidth,3029744640
+runsc,fio.read,bandwidth,2533604352
+runsc,fio.write,bandwidth,1207536640
+runc,fio.randread,bandwidth,1221472256
+runc,fio.randwrite,bandwidth,1046094848
+runsc,fio.randread,bandwidth,68940800
+runsc,fio.randwrite,bandwidth,67286016
diff --git a/static/performance/fio.csv b/static/performance/fio.csv
index b7d224a3a..80d6ae289 100644
--- a/static/performance/fio.csv
+++ b/static/performance/fio.csv
@@ -1,9 +1,9 @@
runtime,method,metric,result
-runc,fio.read,bandwidth,252633088
-runc,fio.write,bandwidth,457222144
-runsc,fio.read,bandwidth,252442624
-runsc,fio.write,bandwidth,436373504
-runc,fio.randread,bandwidth,5781504
-runc,fio.randwrite,bandwidth,109732864
-runsc,fio.randread,bandwidth,4793344
-runsc,fio.randwrite,bandwidth,60702720
+runc,fio.read,bandwidth,252253184
+runc,fio.write,bandwidth,457767936
+runsc,fio.read,bandwidth,252323840
+runsc,fio.write,bandwidth,431845376
+runc,fio.randread,bandwidth,5284864
+runc,fio.randwrite,bandwidth,107758592
+runsc,fio.randread,bandwidth,4403200
+runsc,fio.randwrite,bandwidth,69161984
diff --git a/static/performance/httpd100k.csv b/static/performance/httpd100k.csv
index 6d92ab351..e92c7e9e0 100644
--- a/static/performance/httpd100k.csv
+++ b/static/performance/httpd100k.csv
@@ -1,17 +1,17 @@
connections,runtime,metric,result
-1,runc,transfer_rate,922.54
-1,runc,latency,0.0
-1,runsc,transfer_rate,402.11
-1,runsc,latency,1.0
-5,runc,transfer_rate,4278.39
+1,runc,transfer_rate,565.35
+1,runc,latency,1.0
+1,runsc,transfer_rate,282.84
+1,runsc,latency,2.0
+5,runc,transfer_rate,3260.57
5,runc,latency,1.0
-5,runsc,transfer_rate,1205.09
-5,runsc,latency,2.0
-10,runc,transfer_rate,5170.11
+5,runsc,transfer_rate,832.69
+5,runsc,latency,3.0
+10,runc,transfer_rate,4672.01
10,runc,latency,1.0
-10,runsc,transfer_rate,1390.26
-10,runsc,latency,3.0
-25,runc,transfer_rate,5435.27
+10,runsc,transfer_rate,1095.47
+10,runsc,latency,4.0
+25,runc,transfer_rate,4964.14
25,runc,latency,2.0
-25,runsc,transfer_rate,1067.27
-25,runsc,latency,10.0
+25,runsc,transfer_rate,961.03
+25,runsc,latency,12.0
diff --git a/static/performance/httpd10240k.csv b/static/performance/httpd10240k.csv
index ff25fad77..60dbe7b40 100644
--- a/static/performance/httpd10240k.csv
+++ b/static/performance/httpd10240k.csv
@@ -1,17 +1,17 @@
connections,runtime,metric,result
-1,runc,transfer_rate,880.36
-1,runc,latency,0.0
-1,runsc,transfer_rate,404.93
-1,runsc,latency,1.0
-5,runc,transfer_rate,4263.6
+1,runc,transfer_rate,674.05
+1,runc,latency,1.0
+1,runsc,transfer_rate,243.35
+1,runsc,latency,2.0
+5,runc,transfer_rate,3089.83
5,runc,latency,1.0
-5,runsc,transfer_rate,1211.68
+5,runsc,transfer_rate,981.91
5,runsc,latency,2.0
-10,runc,transfer_rate,5172.49
+10,runc,transfer_rate,4701.2
10,runc,latency,1.0
-10,runsc,transfer_rate,1338.98
-10,runsc,latency,3.0
-25,runc,transfer_rate,5485.12
+10,runsc,transfer_rate,1135.08
+10,runsc,latency,4.0
+25,runc,transfer_rate,5021.36
25,runc,latency,2.0
-25,runsc,transfer_rate,1077.82
-25,runsc,latency,11.0
+25,runsc,transfer_rate,963.26
+25,runsc,latency,12.0
diff --git a/static/performance/iperf.csv b/static/performance/iperf.csv
index 182140e27..1f3b41aec 100644
--- a/static/performance/iperf.csv
+++ b/static/performance/iperf.csv
@@ -1,5 +1,5 @@
runtime,method,metric,result
-runc,network.download,bandwidth,769515500.0
-runc,network.upload,bandwidth,790282500.0
-runsc,network.download,bandwidth,711784500.0
-runsc,network.upload,bandwidth,506225500.0
+runc,network.download,bandwidth,746386000.0
+runc,network.upload,bandwidth,709808000.0
+runsc,network.download,bandwidth,640303500.0
+runsc,network.upload,bandwidth,482254000.0
diff --git a/static/performance/redis.csv b/static/performance/redis.csv
index 9b517b9f9..9a92f3220 100644
--- a/static/performance/redis.csv
+++ b/static/performance/redis.csv
@@ -1,35 +1,35 @@
runtime,metric,result
-runc,PING_INLINE,31328.32
-runc,PING_BULK,30797.66
-runc,SET,30854.68
-runc,GET,30826.14
-runc,INCR,31725.89
-runc,LPUSH,31515.91
-runc,RPUSH,31210.99
-runc,LPOP,30637.26
-runc,RPOP,30835.65
-runc,SADD,31123.56
-runc,HSET,30778.7
-runc,SPOP,31017.37
-runc,LRANGE_100,24654.83
-runc,LRANGE_300,14692.92
-runc,LRANGE_500,12253.4
-runc,LRANGE_600,10389.61
-runc,MSET,31535.79
-runsc,PING_INLINE,14932.06
-runsc,PING_BULK,15772.87
-runsc,SET,15532.77
-runsc,GET,15603.06
-runsc,INCR,15542.43
-runsc,LPUSH,15253.2
-runsc,RPUSH,15332.72
-runsc,LPOP,15391.72
-runsc,RPOP,15408.32
-runsc,SADD,15520.72
-runsc,HSET,15283.51
-runsc,SPOP,15644.56
-runsc,LRANGE_100,13635.12
-runsc,LRANGE_300,9993.0
-runsc,LRANGE_500,8588.11
-runsc,LRANGE_600,7231.18
-runsc,MSET,14669.21
+runc,PING_INLINE,30525.03
+runc,PING_BULK,30293.85
+runc,SET,30257.19
+runc,GET,30312.21
+runc,INCR,30525.03
+runc,LPUSH,30712.53
+runc,RPUSH,30459.95
+runc,LPOP,30367.45
+runc,RPOP,30665.44
+runc,SADD,30030.03
+runc,HSET,30656.04
+runc,SPOP,29940.12
+runc,LRANGE_100,24224.81
+runc,LRANGE_300,14302.06
+runc,LRANGE_500,11728.83
+runc,LRANGE_600,9900.99
+runc,MSET,30120.48
+runsc,PING_INLINE,14528.55
+runsc,PING_BULK,15627.44
+runsc,SET,15403.57
+runsc,GET,15325.67
+runsc,INCR,15269.51
+runsc,LPUSH,15172.2
+runsc,RPUSH,15117.16
+runsc,LPOP,15257.86
+runsc,RPOP,15188.33
+runsc,SADD,15432.1
+runsc,HSET,15163.0
+runsc,SPOP,15561.78
+runsc,LRANGE_100,13365.41
+runsc,LRANGE_300,9520.18
+runsc,LRANGE_500,8248.78
+runsc,LRANGE_600,6544.07
+runsc,MSET,14367.82
diff --git a/static/performance/startup.csv b/static/performance/startup.csv
index 7871e0438..6bad00df6 100644
--- a/static/performance/startup.csv
+++ b/static/performance/startup.csv
@@ -1,7 +1,7 @@
runtime,method,metric,result
-runc,startup.empty,startup_time_ms,1114.56914
-runc,startup.node,startup_time_ms,2311.1579199999996
-runc,startup.ruby,startup_time_ms,2297.36332
-runsc,startup.empty,startup_time_ms,1071.5360200000002
-runsc,startup.node,startup_time_ms,2308.90646
-runsc,startup.ruby,startup_time_ms,2336.6960599999998
+runc,startup.empty,startup_time_ms,1193.10768
+runc,startup.node,startup_time_ms,2557.95336
+runc,startup.ruby,startup_time_ms,2530.12624
+runsc,startup.empty,startup_time_ms,1144.1775
+runsc,startup.node,startup_time_ms,2441.90284
+runsc,startup.ruby,startup_time_ms,2455.69882
diff --git a/static/performance/sysbench-cpu.csv b/static/performance/sysbench-cpu.csv
index 870172f3f..f4e6b69a6 100644
--- a/static/performance/sysbench-cpu.csv
+++ b/static/performance/sysbench-cpu.csv
@@ -1,3 +1,3 @@
runtime,metric,result
-runc,cpu_events_per_second,104.35
-runsc,cpu_events_per_second,103.86
+runc,cpu_events_per_second,103.62
+runsc,cpu_events_per_second,103.21
diff --git a/static/performance/sysbench-memory.csv b/static/performance/sysbench-memory.csv
index 362ca14a4..626ff4994 100644
--- a/static/performance/sysbench-memory.csv
+++ b/static/performance/sysbench-memory.csv
@@ -1,3 +1,3 @@
runtime,metric,result
-runc,memory_ops_per_second,13274.43
-runsc,memory_ops_per_second,13204.74
+runc,memory_ops_per_second,13098.73
+runsc,memory_ops_per_second,13107.44
diff --git a/static/performance/syscall.csv b/static/performance/syscall.csv
index a21a1bd32..7fa9b5d50 100644
--- a/static/performance/syscall.csv
+++ b/static/performance/syscall.csv
@@ -1,4 +1,5 @@
runtime,metric,result
-runc,syscall_time_ns,1929.0
-runsc,syscall_time_ns,36011.0
-runsc-kvm,syscall_time_ns,754.0
+runc,syscall_time_ns,1939.0
+runsc,syscall_time_ns,38219.0
+runsc-kvm,syscall_time_ns,763.0
+runsc-kvm-bare,syscall_time_ns,455.0 \ No newline at end of file
diff --git a/static/performance/tensorflow.csv b/static/performance/tensorflow.csv
index de5baea5b..03498bef0 100644
--- a/static/performance/tensorflow.csv
+++ b/static/performance/tensorflow.csv
@@ -1,3 +1,3 @@
runtime,metric,result
-runc,run_time,192.232783
-runsc,run_time,223.366044
+runc,run_time,207.1118165
+runsc,run_time,244.473401