Comments (10)
Ok, thanks. Checking from inside Docker. Will post the results. Use tcpdump to check packets sending.
from db1000n.
@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.
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.
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.
See #115 for more info on networking problems in clouds
from db1000n.
@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.
@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.
@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.
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.
I am closing this issue, as I see targets was updated, with the new image
from db1000n.
Related Issues (20)
- SIGSEGV incoming HOT 3
- Things to optimize - performance HOT 10
- Reference to db1000nX100 project HOT 1
- Error when pulling docker image HOT 1
- vpn load balancing script
- Simplify logs HOT 8
- Can you compiling file or opkg OpenWRT for MIPS, MIPSBE, MMIPS etc? ;) HOT 14
- Trojan HOT 3
- Scale up db1000n automatically in order to utilize all available system resources HOT 2
- Disk usage is increasing with Docker containers HOT 5
- Can you add limit download/upload speed? HOT 3
- Add more stats (cpu/memory load, amount of open connections, etc.)
- oom killed HOT 23
- prometheus.go:298: Can't push metrics to gateway HOT 2
- ERROR: HostClient can't follow redirects to a different protocol, please use Client instead HOT 1
- Config path is not available anymore for Digital Ocean deployment HOT 1
- Add new sites? HOT 2
- Non-cumulative stats HOT 1
- Build unsuccesful by go install HOT 4
- . HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from db1000n.