Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mesh lite node api request time out & long time (AEGHB-791) #120

Open
yel-best opened this issue Aug 26, 2024 · 6 comments
Open

mesh lite node api request time out & long time (AEGHB-791) #120

yel-best opened this issue Aug 26, 2024 · 6 comments

Comments

@yel-best
Copy link

use Mesh-Lite v0.10.3
use ESP-IDF v5.2.2

I'm currently using a total of 5 nodes, all with default configurations and no modifications. Here's the logic of the test program I conducted:

Using the 5 nodes, each sends an HTTP request every second to an internal IP address. The API logic is straightforward, consisting of a GET request that consistently returns the same data structure, and the response time is very short.

However, the ESP32S3's performance, as shown in the diagram below, indicates the total time taken for each HTTP request in milliseconds.

You'll notice that the requests are relatively slow. When I access the same API with my computer, the request time is usually under 100 milliseconds. However, the ESP32S3 doesn't meet this requirement. There were no network topology changes among the nodes—there are only 5 nodes in total, all online, with one acting as the root node.

image

@github-actions github-actions bot changed the title mesh lite node api request time out & long time mesh lite node api request time out & long time (AEGHB-791) Aug 26, 2024
@yel-best
Copy link
Author

Update test results

If the http request is made by the ROOT node, it will be relatively fast, but if the level is lower, such as layer 4 and layer 5, the following results will appear, the delay is about 6000+(MS) or more, is it because of the problem of the forwarding test node jumping? Is there a solution?

I made a script in the application that requests an api every 2s and waits for the api request to succeed and then waits for 2s to make the next request

image

@tswen
Copy link
Contributor

tswen commented Sep 5, 2024

How many devices have you deployed in total? Is the surrounding wireless environment subject to significant interference?

@yel-best
Copy link
Author

yel-best commented Sep 6, 2024

How many devices have you deployed in total? Is the surrounding wireless environment subject to significant interference?

Close to 90 devices, using the WIFI scanning tool to detect WIFI quality is better

@yel-best
Copy link
Author

@tswen There are some questions about the configuration,hope you can answer, thank you

CONFIG_MESH_LITE_MAX_ROUTER_NUMBER Does it represent the number of children allowed?
CONFIG_MESH_LITE_MAXIMUM_LEVEL_ALLOWEDDoes it represent the number of levels allowed?

CONFIG_MESH_LITE_MAX_ROUTER_NUMBER=5
CONFIG_MESH_LITE_MAXIMUM_LEVEL_ALLOWED=10

@tswen
Copy link
Contributor

tswen commented Sep 11, 2024

How many devices have you deployed in total? Is the surrounding wireless environment subject to significant interference?

Close to 90 devices, using the WIFI scanning tool to detect WIFI quality is better

If there are 90 devices, since all the devices are in the same channel, the interference between them is relatively large. It is recommended to increase the beacon interval appropriately.

wifi_config_t wifi_cfg;
esp_wifi_get_config(WIFI_IF_AP, &wifi_cfg);
wifi_cfg.ap.beacon_interval = 400;
esp_wifi_set_config(WIFI_IF_AP, &wifi_cfg);

@tswen
Copy link
Contributor

tswen commented Sep 11, 2024

@tswen There are some questions about the configuration,hope you can answer, thank you

CONFIG_MESH_LITE_MAX_ROUTER_NUMBER Does it represent the number of children allowed? CONFIG_MESH_LITE_MAXIMUM_LEVEL_ALLOWEDDoes it represent the number of levels allowed?

CONFIG_MESH_LITE_MAX_ROUTER_NUMBER=5
CONFIG_MESH_LITE_MAXIMUM_LEVEL_ALLOWED=10

CONFIG_MESH_LITE_MAX_ROUTER_NUMBER: is not used yet, so you don't need it.
CONFIG_MESH_LITE_MAXIMUM_LEVEL_ALLOWED: Yes, if set to 10, the network will reach a maximum of ten levels.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants
@tswen @yel-best and others