Why Spryker's Jenkins container doesn't have SWAP configured?

przemyslaw.szychowski
przemyslaw.szychowski Spryker Customer Posts: 9 🧑🏻‍🚀 - Cadet

Hello,

I found that Jenkins container in AWS does not use SWAP. It seems to be a big problem, because whenever queue worker takes more processes, then Jenkins is completely killed or stuck. Even official documentation ( https://docs.spryker.com/docs/ca/dev/best-practices/best-practises-jenkins-stability.html#memory-management ) says that queue worker can start plenty of processes, which in total can take GBs of memory.

Solution without SWAP is not trivial, as problem occurs mostly when high amount of different messages land in the queue. Limiting number of workers will slow down overall processing and some workers take more, some less memory. Even after time consuming configuration tuning and testing, it Jenkins container can be stuck after any code change again.

SWAP could help in such situations, as processing would be slower only when SWAP will be used, but Jenkins should stay alive then. Rest of the time, when memory won't exceed limits, processing still will be fast, without hard workers amounts limitation.

Jenkins container seems to be EC2 container with storage attached, so SWAP should be just matter of one line of AWS configuration.

Can SWAP be enabled somehow in Jenkins container?

Answers

  • fsmeier
    fsmeier Senior Software Engineer & Developer Enablement Advocate Sprykee Posts: 1,052 ⚖️ - Guardians (admin)

    Heyhey @przemyslaw.szychowski ,

    as always - I can not promise anything - but based on your feedback I pinged some people within Spryker and started a new discussion about this topic based on your points. Thank you already very much for your feedback! I will keep you updated!

    All the best,

    Florian

  • przemyslaw.szychowski
    przemyslaw.szychowski Spryker Customer Posts: 9 🧑🏻‍🚀 - Cadet

    Thank you!

    I hope that discussions will go well, as it may be simple solution for big problem in production systems.