Skip to content

Commit 95d5fe6

Browse files
committed
Revert "Merge remote-tracking branch 'yaron/perf-1' into perf-benchmarks-v1.16"
This reverts commit 91c4eab, reversing changes made to 8de08db.
1 parent 91c4eab commit 95d5fe6

File tree

6 files changed

+137
-120
lines changed

6 files changed

+137
-120
lines changed

.github/workflows/website-root.yml

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
name: Azure Static Web App Root
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches:
7+
- v1.15
8+
pull_request:
9+
types: [opened, synchronize, reopened, closed]
10+
branches:
11+
- v1.15
12+
13+
concurrency:
14+
# Cancel the previously triggered build for only PR build.
15+
group: website-${{ github.event.pull_request.number || github.sha }}
16+
cancel-in-progress: true
17+
18+
jobs:
19+
build_and_deploy_job:
20+
name: Build Hugo Website
21+
if: github.event.action != 'closed'
22+
runs-on: ubuntu-latest
23+
env:
24+
SWA_BASE: 'proud-bay-0e9e0e81e'
25+
HUGO_ENV: production
26+
steps:
27+
- name: Checkout docs repo
28+
uses: actions/checkout@v4
29+
with:
30+
submodules: true
31+
- name: Setup Node
32+
uses: actions/setup-node@v4
33+
with:
34+
node-version: '18'
35+
- name: Setup Hugo
36+
uses: peaceiris/[email protected]
37+
with:
38+
hugo-version: 0.147.9
39+
extended: true
40+
- name: Setup Submodules
41+
run: |
42+
cd daprdocs
43+
git submodule update --init --recursive
44+
cd ..
45+
sudo npm install -D --save autoprefixer
46+
sudo npm install -D --save postcss-cli
47+
- name: Build Hugo Website
48+
run: |
49+
git config --global --add safe.directory /github/workspace
50+
if [ $GITHUB_EVENT_NAME == 'pull_request' ]; then
51+
STAGING_URL="https://${SWA_BASE}-${{github.event.number}}.westus2.azurestaticapps.net/"
52+
fi
53+
hugo ${STAGING_URL+-b "$STAGING_URL"}
54+
- name: Deploy docs site
55+
uses: Azure/static-web-apps-deploy@v1
56+
with:
57+
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_PROUD_BAY_0E9E0E81E }}
58+
repo_token: ${{ secrets.GITHUB_TOKEN }}
59+
action: "upload"
60+
app_location: "/daprdocs/public/"
61+
output_location: "/"
62+
skip_app_build: true
63+
skip_deploy_on_missing_secrets: true
64+
- name: Upload Hugo artifacts
65+
uses: actions/upload-artifact@v4
66+
with:
67+
name: hugo_build
68+
path: ./daprdocs/public/
69+
if-no-files-found: error
70+
71+
close_staging_site:
72+
if: github.event_name == 'pull_request' && github.event.action == 'closed'
73+
runs-on: ubuntu-latest
74+
name: Close Pull Request Job
75+
steps:
76+
- name: Close Pull Request
77+
id: closepullrequest
78+
uses: Azure/static-web-apps-deploy@v1
79+
with:
80+
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_PROUD_BAY_0E9E0E81E }}
81+
action: "close"
82+
skip_deploy_on_missing_secrets: true
83+
84+
algolia_index:
85+
name: Index site for Algolia
86+
if: github.event_name == 'push'
87+
needs: ['build_and_deploy_job']
88+
runs-on: ubuntu-latest
89+
env:
90+
ALGOLIA_APP_ID: ${{ secrets.ALGOLIA_APP_ID }}
91+
ALGOLIA_API_WRITE_KEY: ${{ secrets.ALGOLIA_API_WRITE_KEY }}
92+
ALGOLIA_INDEX_NAME: daprdocs
93+
steps:
94+
- name: Checkout docs repo
95+
uses: actions/checkout@v4
96+
with:
97+
submodules: false
98+
- name: Download Hugo artifacts
99+
uses: actions/download-artifact@v3
100+
with:
101+
name: hugo_build
102+
path: site/
103+
- name: Install Python packages
104+
run: |
105+
pip install --upgrade bs4
106+
pip install --upgrade 'algoliasearch>=2.0,<3.0'
107+
- name: Index site
108+
run: python ./.github/scripts/algolia.py ./site

daprdocs/content/en/operations/configuration/configuration-overview.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -115,12 +115,11 @@ To disable the sampling rate, set `samplingRate : "0"` in the configuration.
115115
The OpenTelemetry (`otel`) endpoint can also be configured via an environment variable. The presence of the `OTEL_EXPORTER_OTLP_ENDPOINT` environment variable
116116
turns on tracing for the sidecar.
117117

118-
| Environment Variable | Description |
119-
|----------------------|-----------------------------------------------------------------|
118+
| Environment Variable | Description |
119+
|----------------------|-------------|
120120
| `OTEL_EXPORTER_OTLP_ENDPOINT` | Sets the Open Telemetry (OTEL) server address, turns on tracing |
121121
| `OTEL_EXPORTER_OTLP_INSECURE` | Sets the connection to the endpoint as unencrypted (true/false) |
122-
| `OTEL_EXPORTER_OTLP_PROTOCOL` | Transport protocol (`grpc`, `http/protobuf`, `http/json`) |
123-
| `OTEL_SERVICE_NAME` | Optional override to specify the service name used in traces |
122+
| `OTEL_EXPORTER_OTLP_PROTOCOL` | Transport protocol (`grpc`, `http/protobuf`, `http/json`) |
124123

125124
See [Observability distributed tracing]({{% ref "tracing-overview.md" %}}) for more information.
126125

daprdocs/content/en/operations/performance-and-scalability/perf-actors-activation.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ For applications using actors in Dapr there are two aspects to be considered. Fi
1919
* Sidecar Injector (control plane)
2020
* Sentry (optional, control plane)
2121

22-
## Performance summary for Dapr v1.12
22+
## Performance summary for Dapr v1.0
2323

24-
The actors API in Dapr sidecar identifies which hosts are registered for a given actor type and routes the request to the appropriate host for a given actor ID. The host runs an instance of the application and uses the Dapr SDK (.Net, Java, Python, Go) to handle actors requests via HTTP.
24+
The actors API in Dapr sidecar will identify which hosts are registered for a given actor type and route the request to the appropriate host for a given actor ID. The host runs an instance of the application and uses the Dapr SDK (.Net, Java, Python or PHP) to handle actors requests via HTTP.
2525

2626
This test uses invokes actors via Dapr's HTTP API directly.
2727

@@ -40,14 +40,17 @@ Test parameters:
4040
* Sidecar limited to 0.5 vCPU
4141
* mTLS enabled
4242
* Sidecar telemetry enabled (tracing with a sampling rate of 0.1)
43+
* Payload of an empty JSON object: `{}`
4344

4445
### Results
4546

46-
* The requested throughput was 500 qps.
47-
* The actual throughput was 500 qps.
48-
* The tp90 latency was ~3.2ms.
49-
* The tp99 latency was ~7ms.
50-
* Dapr app consumed ~339m CPU and ~336Mb of Memory
51-
* Dapr sidecar consumed 93m CPU and ~60Mb of Memory
47+
* The actual throughput was ~500 qps.
48+
* The tp90 latency was ~3ms.
49+
* The tp99 latency was ~6.2ms.
50+
* Dapr app consumed ~523m CPU and ~304.7Mb of Memory
51+
* Dapr sidecar consumed 2m CPU and ~18.2Mb of Memory
5252
* No app restarts
5353
* No sidecar restarts
54+
55+
## Related links
56+
* For more information see [overview of Dapr on Kubernetes]({{% ref kubernetes-overview.md %}})

daprdocs/content/en/operations/performance-and-scalability/perf-pubsub.md

Lines changed: 0 additions & 50 deletions
This file was deleted.

daprdocs/content/en/operations/performance-and-scalability/perf-service-invocation.md

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ For more information see [overview of Dapr in self-hosted mode]({{% ref self-hos
2929

3030
For more information see [overview of Dapr on Kubernetes]({{% ref kubernetes-overview.md %}}).
3131

32-
## Performance summary for Dapr v1.12
32+
## Performance summary for Dapr v1.0
3333

3434
The service invocation API is a reverse proxy with built-in service discovery to connect to other services. This includes tracing, metrics, mTLS for in-transit encryption of traffic, together with resiliency in the form of retries for network partitions and connection errors.
3535

@@ -59,10 +59,10 @@ When running in a highly available production setup, the Dapr control plane cons
5959

6060
| Component | vCPU | Memory
6161
| ------------- | ------------- | -------------
62-
| Operator | 0.003 | 18 Mb
63-
| Sentry | 0.01 | 33 Mb
64-
| Sidecar Injector | 0.008 | 17 Mb
65-
| Placement | 0.005 | 25 Mb
62+
| Operator | 0.001 | 12.5 Mb
63+
| Sentry | 0.005 | 13.6 Mb
64+
| Sidecar Injector | 0.002 | 14.6 Mb
65+
| Placement | 0.001 | 20.9 Mb
6666

6767
There are a number of variants that affect the CPU and memory consumption for each of the system components. These variants are shown in the table below.
6868

@@ -75,11 +75,18 @@ There are a number of variants that affect the CPU and memory consumption for ea
7575

7676
### Data plane performance
7777

78+
The Dapr sidecar uses 0.48 vCPU and 23Mb per 1000 requests per second.
79+
End-to-end, the Dapr sidecars (client and server) add ~1.40 ms to the 90th percentile latency, and ~2.10 ms to the 99th percentile latency. End-to-end here is a call from one app to another app receiving a response. This is shown by steps 1-7 in [this diagram]({{% ref service-invocation-overview.md %}}).
80+
81+
This performance is on par or better than commonly used service meshes.
82+
83+
### Latency
84+
7885
In the test setup, requests went through the Dapr sidecar both on the client side (serving requests from the load tester tool) and the server side (the target app).
7986
mTLS and telemetry (tracing with a sampling rate of 0.1) and metrics were enabled on the Dapr test, and disabled for the baseline test.
8087

81-
The Dapr sidecar uses 0.45 vCPU and 38Mb per 1000 requests per second.
88+
<img src="/images/perf_invocation_p90.png" alt="Latency for 90th percentile">
8289

83-
End-to-end, the Dapr sidecars (client and server) add ~1.20 ms to the 90th percentile latency, and ~2.50 ms to the 99th percentile latency. End-to-end here is a call from one app to another app receiving a response. This is shown by steps 1-7 in [this diagram]({{< ref service-invocation-overview.md >}}).
90+
<br>
8491

85-
This performance is on par or better than commonly used service meshes.
92+
<img src="/images/perf_invocation_p99.png" alt="Latency for 99th percentile">

daprdocs/content/en/operations/performance-and-scalability/perf-state.md

Lines changed: 0 additions & 50 deletions
This file was deleted.

0 commit comments

Comments
 (0)