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

How to increase performance of iotagent-ul? #197

Open
hungtv31 opened this issue Feb 3, 2017 · 5 comments
Open

How to increase performance of iotagent-ul? #197

hungtv31 opened this issue Feb 3, 2017 · 5 comments

Comments

@hungtv31
Copy link

hungtv31 commented Feb 3, 2017

Dear all,

I test performance of iotagent-ul. I install iotagent-ul on a server (VM 16 core CPU, 16 GB RAM) and mongodb on other server (VM 16 core CPU, 16 GB RAM).
However performance ~80 tps (for create service and devices).
How to increase performance iotagent-ul?

Thanks all!

@fgalan
Copy link
Member

fgalan commented Feb 8, 2017

What about data sending performance? (data sending request would be much higher than service/devices creation in a real case, so they are more important from a performance point of view).

@hungtv31
Copy link
Author

Thanks fgalan,
I have config logLevel: 'ERROR', and modify code of iotagent-ul to use multi thread (=core CPU).
Performance of iotagent-ul is:

  • Create device: 220 tps
  • Update data: 280 tps (data sending request)
  • Get device: 850 tps
    My system have 10 million devices. Data sending request >= 50000 tps. How to increase performance of iotagent-ul?

@hungtv31 hungtv31 changed the title How to increase performance iotagent-ul? How to increase performance of iotagent-ul? Feb 10, 2017
@hungtv31
Copy link
Author

My system have 10 million devices. Data sending request >= 50000 tps.
How to increase performance of iotagent-ul?

@dmoranj
Copy link
Contributor

dmoranj commented Mar 2, 2017

I'm afraid IoT Agent has not been tested in such extreme performance scenarios, but since IoTAgents are mostly stateless and your scenario is using such big numbers, I suggest you try dividing the load between multiple inexpensive servers (using clusters for both MongoDB and the IoTAgents). Fine-tunning the code and configuration may help in increasing the performance by a factor of 2 or 3, but not 200, so you will need to change the hardware architecture (and identify what is your bottleneck, as, with 50000tps it could quite probably be the network, or some related SO parameters).

@hungtv31
Copy link
Author

hungtv31 commented Mar 2, 2017

Thank dmoranj advised.

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

3 participants