Coder Social home page Coder Social logo

Comments (10)

synapse-unix avatar synapse-unix commented on August 25, 2024 1

Ok, thanks. Checking from inside Docker. Will post the results. Use tcpdump to check packets sending.

from db1000n.

bitshape avatar bitshape commented on August 25, 2024 1

@dmy3tka disagree because 1hr refresh means it will take up to an hour to get all clients refreshed. For successful results you want very quick switch of conf in order to maximize efficiency.

from db1000n.

arriven avatar arriven commented on August 25, 2024

Targets are configured outside of the image and executable (and repo because it's easier to manage that way). There is a backup config embedded into the exe but it's used as a backup if the app can't fetch remote one and it's not meant to be updated.

There's already a CI job to build and push docker image on release.

The main reason there was no new release for 21 hours is because there were no new important updates to the codebase during that time. Almost all updates were either docs, deployment methods for clouds/platforms (mostly for experienced users), or minor code improvements that don't directly impact the functionality of the app.

There was a PR today that does bring a cool feature and I will make a release with it soon, just need to test everything first.

from db1000n.

arriven avatar arriven commented on August 25, 2024

If you see that docker image really hits outdated list I suggest checking if it can connect to the proper target list in your setup. Might be a problem there and we need to discuss/debug it separately.

from db1000n.

arriven avatar arriven commented on August 25, 2024

See #115 for more info on networking problems in clouds

from db1000n.

synapse-unix avatar synapse-unix commented on August 25, 2024

@arriven can confirm, that targets are not being updated. We need to push an image each time we have a MR merged to https://github.com/db1000n-coordinators/LoadTestConfig to take a benefit of the option we are running container --pull always, also we need to make sure this option works, as PID is running and I am not sure at wich moment docker will pull new latest. Or if config is dynamically picked by the app once it start, we need to add some app reload cron job, to pick each time the new config (once in 3 hours is ok) - need to check that app reload won't kill the container (as it is a root PID as of now).

Note, containers are running for 41 minutes :

username@vm0:~$ sudo docker container ls
CONTAINER ID   IMAGE                            COMMAND    CREATED          STATUS          PORTS     NAMES
d289f665e2d9   ghcr.io/arriven/db1000n:latest   "./main"   41 minutes ago   Up 41 minutes             dreamy_gould
77b115352b0c   ghcr.io/arriven/db1000n:latest   "./main"   41 minutes ago   Up 41 minutes             agitated_jackson

MR with new target is merged 24 minutes ago:
db1000n-coordinators/LoadTestConfig@0ab67a4

New target ip is not found in the container logs:

username@vm0:~$ sudo docker logs dreamy_gould 2>&1 | grep '80.87.198.26'
username@vm0:~$ 

I also checked that app is using a non-default config from src/config/defaultconfig.go as http://lugansk24.gtrklnr.ru/ is only added to LoadTestConfig/blob/main/config.json and not default. And this target is in the container logs.

from db1000n.

synapse-unix avatar synapse-unix commented on August 25, 2024

@arriven ok, I see where we get conf url and update it. Can you confirm, that this loop overrides targets config each time in the container? - https://github.com/Arriven/db1000n/blob/6e515ee3f2ae6e8ff6f72417921cb60c5ed2f995/main.go#L71

And why do we use such aggressive 1 minute override as we don't have such frequent changes of the conf. Let's make it reasonable 1 hour.
Thank you!

from db1000n.

synapse-unix avatar synapse-unix commented on August 25, 2024

@dmy3tka disagree because 1hr refresh means it will take up to an hour to get all clients refreshed. For successful results you want very quick switch of conf in order to maximize efficiency.

Do you check how often is config changing now? 2 times a day at best. Even 1 hour is excessive refresh timeout.

We are ddosing GitHub as of now, fetching new config each minute, that can result in blockage.

from db1000n.

arriven avatar arriven commented on August 25, 2024

github is a CDN, which is designed for this specific type of load we use it for (it can and should be able to handle A LOT more load than this). This is the core of an app and I was very careful when designing it

from db1000n.

synapse-unix avatar synapse-unix commented on August 25, 2024

I am closing this issue, as I see targets was updated, with the new image

from db1000n.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.