# Load testing for download firmware api

**URL:** <https://forum.genieacs.com/t/load-testing-for-download-firmware-api/7180>\
**Category:** Uncategorized\
**Created:** [September 26, 2025, 1:45pm UTC](https://forum.genieacs.com/t/load-testing-for-download-firmware-api/7180 "2025-09-26T13:45:30Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Shivi1771](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.genieacs.com/shivi1771/32/2440_2.png) [@Shivi1771](https://forum.genieacs.com/u/Shivi1771)\
**Post date:** [September 26, 2025, 1:45pm UTC](https://forum.genieacs.com/t/load-testing-for-download-firmware-api/7180/1 "2025-09-26T13:45:30Z")

</div>

how do i do load testing of the download firmware api, like how many devices can it handle at a time, like if i trigger download firmware of a file on 10000 devices at a time from the genieacs hosted on my server, will the genieacs file system take the load ?  
i am using [GitHub - GeiserX/genieacs-docker: Automated configuration files for your GenieACS deployment](https://github.com/GeiserX/genieacs-docker)

how do i do load testing give me some way, as i just tried to hit the download api 2000 times for the genieacs sim which wasn’t actually downloading the file, so the api requests were successful but didn’t really give the satisfaction to me since file isn’t being downloaded.

Also i want to know if genieacs supports a third party file systems like buckets for downloads instead of its Gridfs.

---

<div class="post-metadata">

**Author:** ![akcoder](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.genieacs.com/akcoder/32/11_2.png) [@akcoder](https://forum.genieacs.com/u/akcoder)\
**Post date:** [September 26, 2025, 6:26pm UTC](https://forum.genieacs.com/t/load-testing-for-download-firmware-api/7180/2 "2025-09-26T18:26:53Z")

</div>

> [@Shivi1771](#):
>
> how do i do load testing

Use curl: curl http://fs\_ip\_address:7567/file.bin –output /dev/null

> [@Shivi1771](#):
>
> Also i want to know if genieacs supports a third party file systems like buckets for downloads instead of its Gridfs.

Not at this time.

---

<div class="post-metadata">

**Author:** ![Shivi1771](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.genieacs.com/shivi1771/32/2440_2.png) [@Shivi1771](https://forum.genieacs.com/u/Shivi1771)\
**Post date:** [October 6, 2025, 7:08am UTC](https://forum.genieacs.com/t/load-testing-for-download-firmware-api/7180/3 "2025-10-06T07:08:37Z")

</div>

> [@akcoder](#):
>
> Use curl: curl http://fs\_ip\_address:7567/file.bin –output /dev/null

will this actually download the file from the server?  
Use curl: curl http://fs\_ip\_address:7567/file.bin –output /dev/null

coz i get 200 status code and this output from this api:  
@./new\_firmware\_v1.0.bin

---

<div class="post-metadata">

**Author:** ![Shivi1771](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.genieacs.com/shivi1771/32/2440_2.png) [@Shivi1771](https://forum.genieacs.com/u/Shivi1771)\
**Post date:** [October 8, 2025, 7:18am UTC](https://forum.genieacs.com/t/load-testing-for-download-firmware-api/7180/4 "2025-10-08T07:18:03Z")

</div>

Anyone kindly please reply. Also for the third party file systems like buckets that i was talking about, one example for that is Amazon S3 bucket so is it compatible with genieacs

---

<div class="post-metadata">

**Author:** ![bajojoba](https://avatars.discourse-cdn.com/v4/letter/b/b9e5f3/32.png) [@bajojoba](https://forum.genieacs.com/u/bajojoba)\
**Post date:** [October 16, 2025, 5:05pm UTC](https://forum.genieacs.com/t/load-testing-for-download-firmware-api/7180/5 "2025-10-16T17:05:20Z")

</div>

the curl method should be fine. if you’d like to see if it is downloaded just replace the –output from /dev/null to file.bin.  
The second question. You can redirect the downloads to a different server with the environment variable:  
GENIEACS\_FS\_URL\_PREFIX=[http://download.example.com/](http://download.example.com/)

I usually use the second option behind reverse proxy so that downloads are balanced and not even loaded on the genieacs system.

---

<div class="post-metadata">

**Author:** ![Shivi1771](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.genieacs.com/shivi1771/32/2440_2.png) [@Shivi1771](https://forum.genieacs.com/u/Shivi1771)\
**Post date:** [October 22, 2025, 5:38am UTC](https://forum.genieacs.com/t/load-testing-for-download-firmware-api/7180/6 "2025-10-22T05:38:14Z")

</div>

> [@bajojoba](#):
>
> The second question. You can redirect the downloads to a different server with the environment variable:  
> GENIEACS\_FS\_URL\_PREFIX=[http://download.example.com/](http://download.example.com/)

where do i make this change like what file or code ?

---

<div class="post-metadata">

**Author:** ![akcoder](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.genieacs.com/akcoder/32/11_2.png) [@akcoder](https://forum.genieacs.com/u/akcoder)\
**Post date:** [October 22, 2025, 4:02pm UTC](https://forum.genieacs.com/t/load-testing-for-download-firmware-api/7180/7 "2025-10-22T16:02:48Z")

</div>

In the genieacs.env file
