-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
76 type of connections and benchmark (#78)
* start atts mode page * benchmark first version
- Loading branch information
1 parent
28bd180
commit 5531fd7
Showing
3 changed files
with
164 additions
and
0 deletions.
There are no files selected for viewing
58 changes: 58 additions & 0 deletions
58
content/docs/platform/specifications/mqtt-panduza/attribute-modes/index.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
--- | ||
title: "Attribute Modes" | ||
weight: 100 | ||
description: "Each attribute must declare a mode defining how it will interact with MQTT" | ||
icon: cloud | ||
--- | ||
|
||
3 modes: | ||
|
||
- M1: Control (set value and ensure the platform applied it) | ||
- M2: Push Stream (send huge amount of data to the platform in a stream) | ||
- M3: Pull Stream (receive huge amount of data from the platform in a stream) | ||
|
||
 | ||
|
||
## Performance Benchmarks | ||
|
||
- C: CLIENT | ||
- B: BROKER | ||
- P: PLATFORM | ||
|
||
- NC: NUMBER OF PARALLELE CONNECTION | ||
- NI: NUMBER OF ITERATIONS | ||
- PS: PAYLOAD SIZE | ||
|
||
### Latency Metrics | ||
|
||
- LCB: Latency between Client and Broker (use PINGREQ/PIGNRESP) | ||
- LBP: Latency between Broker and Platform (use PINGREQ/PIGNRESP) | ||
|
||
### M1 Perf Metrics | ||
|
||
For M1, create `NC` clients and `NC` platforms. | ||
|
||
When the test start, all the clients send `NI` messages with a `PS` size. | ||
|
||
When the last ack is received, the client stop and save its time. | ||
|
||
The test must display: | ||
|
||
- Min time of all clients | ||
- Max time of all clients | ||
- Average time of all clients | ||
|
||
### M2 Perf Metrics | ||
|
||
In this test case, clients will send all their messages as fast as possible. | ||
|
||
2 times must be computed. | ||
|
||
1. client time (number of second to push all the packet) | ||
2. platform time (number of second to recieve all the packet) | ||
|
||
### M3 Perf Metrics | ||
|
||
Same as M2 but reverse logic. | ||
|
||
Must be implemeted to be able to test M2 and M3 scenarios in parallel. |
106 changes: 106 additions & 0 deletions
106
content/docs/platform/specifications/mqtt-panduza/attribute-modes/modes.drawio
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
<mxfile host="65bd71144e"> | ||
<diagram id="pZhpO91J2a6tRy8CSL6U" name="Page-1"> | ||
<mxGraphModel dx="1151" dy="779" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0"> | ||
<root> | ||
<mxCell id="0"/> | ||
<mxCell id="1" parent="0"/> | ||
<mxCell id="2" value="Broker" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="330" y="150" width="120" height="80" as="geometry"/> | ||
</mxCell> | ||
<mxCell id="3" value="Client" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="90" y="160" width="120" height="60" as="geometry"/> | ||
</mxCell> | ||
<mxCell id="4" value="Platform" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="570" y="160" width="120" height="60" as="geometry"/> | ||
</mxCell> | ||
<mxCell id="6" value="" style="endArrow=classic;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0.25;entryY=0.25;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="3" target="2"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="560" y="420" as="sourcePoint"/> | ||
<mxPoint x="610" y="370" as="targetPoint"/> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="7" value="" style="endArrow=classic;html=1;exitX=0.88;exitY=0.25;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;exitPerimeter=0;" edge="1" parent="1" source="2" target="4"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="220" y="185" as="sourcePoint"/> | ||
<mxPoint x="370" y="180" as="targetPoint"/> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="8" value="" style="endArrow=classic;html=1;exitX=0;exitY=0.75;exitDx=0;exitDy=0;entryX=0.96;entryY=0.7;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="4" target="2"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="445.5999999999999" y="180" as="sourcePoint"/> | ||
<mxPoint x="580" y="185" as="targetPoint"/> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="9" value="" style="endArrow=classic;html=1;exitX=0.13;exitY=0.77;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;exitPerimeter=0;" edge="1" parent="1" source="2" target="3"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="580" y="215" as="sourcePoint"/> | ||
<mxPoint x="455.20000000000005" y="216" as="targetPoint"/> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="10" value="1 set" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="260" y="140" width="50" height="30" as="geometry"/> | ||
</mxCell> | ||
<mxCell id="11" value="2 set" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="470" y="140" width="50" height="30" as="geometry"/> | ||
</mxCell> | ||
<mxCell id="12" value="3 ack" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="470" y="210" width="50" height="30" as="geometry"/> | ||
</mxCell> | ||
<mxCell id="13" value="4 wait ack" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="240" y="220" width="70" height="30" as="geometry"/> | ||
</mxCell> | ||
<mxCell id="14" value="Mode 1: Control" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="330" y="60" width="120" height="60" as="geometry"/> | ||
</mxCell> | ||
<mxCell id="15" value="Mode 2: Push Stream" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="315" y="280" width="150" height="60" as="geometry"/> | ||
</mxCell> | ||
<mxCell id="16" value="Broker" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="330" y="350" width="120" height="80" as="geometry"/> | ||
</mxCell> | ||
<mxCell id="17" value="Client" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="90" y="360" width="120" height="60" as="geometry"/> | ||
</mxCell> | ||
<mxCell id="18" value="Platform" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="570" y="360" width="120" height="60" as="geometry"/> | ||
</mxCell> | ||
<mxCell id="19" value="" style="endArrow=classic;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.07;entryY=0.4;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="17" target="16"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="560" y="620" as="sourcePoint"/> | ||
<mxPoint x="610" y="570" as="targetPoint"/> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="20" value="" style="endArrow=classic;html=1;exitX=0.875;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitPerimeter=0;" edge="1" parent="1" source="16" target="18"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="220" y="385" as="sourcePoint"/> | ||
<mxPoint x="370" y="380" as="targetPoint"/> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="27" value="Mode 3: Pull Stream" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="315" y="450" width="150" height="60" as="geometry"/> | ||
</mxCell> | ||
<mxCell id="28" value="Broker" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="330" y="520" width="120" height="80" as="geometry"/> | ||
</mxCell> | ||
<mxCell id="29" value="Client" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="90" y="530" width="120" height="60" as="geometry"/> | ||
</mxCell> | ||
<mxCell id="30" value="Platform" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="570" y="530" width="120" height="60" as="geometry"/> | ||
</mxCell> | ||
<mxCell id="31" value="" style="endArrow=classic;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.875;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="30" target="28"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="560" y="790" as="sourcePoint"/> | ||
<mxPoint x="610" y="740" as="targetPoint"/> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="32" value="" style="endArrow=classic;html=1;exitX=0.16;exitY=0.55;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitPerimeter=0;" edge="1" parent="1" source="28" target="29"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="220" y="555" as="sourcePoint"/> | ||
<mxPoint x="370" y="550" as="targetPoint"/> | ||
</mxGeometry> | ||
</mxCell> | ||
</root> | ||
</mxGraphModel> | ||
</diagram> | ||
</mxfile> |
Binary file added
BIN
+41.8 KB
content/docs/platform/specifications/mqtt-panduza/attribute-modes/modes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.