You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/architecture/performance.md
+8-5Lines changed: 8 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,18 @@
1
1
## Notes on performance testing (or load-testing)
2
2
3
-
You may have started using OpenFaaS or doing due diligence and have decided to run a performance test, load-test or benchmark. Before proceeding please run through the project checklist to make sure your environment is properly tuned.
3
+
This page is designed to help you get a realistic and representative view of the performance of OpenFaaS whether you want to run a performance test, load-test or benchmark.
4
4
5
-
The default configuration for OpenFaaS targets development, not production which is why you should pay attention to both your method and your configuration.
5
+
You may have started using OpenFaaS already or perhaps you have been asked to do some due diligence before starting a new project. Before proceeding please run through the project checklist to make sure your environment is properly tuned and that you are using *an appropriate function template tuned for performance*.
6
+
7
+
The default configuration for OpenFaaS targets a development-environment and not production which is why *you should pay attention* to both your method and your configuration.
6
8
7
9
### Checklist
8
10
9
11
> Note: Testing should only be carried out with Kubernetes.
10
12
11
13
Method:
12
14
13
-
*[ ] I have created a test-plan *with a hypothesis* and *have documented my method* so I can share it with the project team.
15
+
*[ ] I have created a test-plan *with a hypothesis* and *have documented my method* so I can share it with the project team
14
16
*[ ] I'm using a performance testing tool such as [hey](https://github.com/rakyll/hey), jMeter, LoadRunner or Gattling
15
17
*[ ] My environment is hosted in an isolated and repeatable environment
16
18
*[ ] I understand the difference between a benchmark and a "DoS attack"
@@ -22,7 +24,7 @@ HA:
22
24
Project tuning:
23
25
24
26
*[ ] I have extended or removed memory limits / quotas for each service and function
25
-
*[ ] I have created my own function using one of the new HTTP templates (see below)
27
+
*[ ] I have created my own function using one of the new HTTP templates (see below for a list)
26
28
*[ ] I understand the difference between the original default watchdog which forks one process per request and the new of-watchdog's HTTP mode and I am using that
27
29
*[ ] I have turned off `write_debug` and `read_debug` so that the logs for the function are kept sparse
28
30
*[ ] I am monitoring / collecting logs from the core services and function under test
@@ -40,7 +42,7 @@ Project tuning:
40
42
of-watchdog templates:
41
43
42
44
*[Golang HTTP template with stdlib](https://github.com/alexellis/golang-http-template)
43
-
*[Node8 HTTP template with Express.js](https://github.com/openfaas-incubator/node8-express-template)
45
+
*[Node10 HTTP template with Express.js](https://github.com/openfaas-incubator/node10-express-template)
44
46
*[Python3 HTTP template with gevent/flask](https://github.com/openfaas-incubator/python-flask-template)
45
47
46
48
### Common mistakes for performance-testing a project:
@@ -74,3 +76,4 @@ When using a scientific method you need to carry out multiple test runs and acco
74
76
* Ignoring CPU / memory limits
75
77
76
78
OpenFaaS enforces memory limits on core services. If you are going to perform a high load test you will want to extend these beyond the defaults or remove them completely.
0 commit comments