-
Notifications
You must be signed in to change notification settings - Fork 1
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
Limit cpus and io bandwidth #271
Comments
write benchmark ~1G file za 18 vteřin => ~55 MB/s |
read je zhruba 2x tak rychlej |
Oprava. Šel jsem na to ještě jendou čistým US - ~250 MB/s R/W |
Nastavil bych hard limit throughputu na 100 MB/s a uvedl to do limitů platformy. |
Tak, ale narazil jsem na to, že |
@ondrejhlavacek máš nějaký docker command který děláš benchmark disku? |
dej mi minutku, připravím |
zatím jsem si vygeneroval 1G soubor a zkouším ho v kontejneru kopírovat. |
používá se na to |
benchmark na write je takhle
|
možná mi to začalo fungovat:
|
write i read v jednom |
hustě!!! |
jo tak asi jo, 2x jsem zvětšil a 2x to stouplo:
|
Ze začátku jsem to zkoušel tak že jsem si na hostu pomocí dd vygeneroval do /tmp soubor a ten pak zkoušel kopírovat pomocí A s tím |
@Halama nenapadá tě, jak podobnej setup alespoň mocknout na devel2/3? nebo jak dynamicky zjistit ten device? propustnost testovat nebudu, ale pouští se všude stejnej command. |
nevím devel2/3 považuju za věci k vypnutí:) Chceš to do testů? nebo si s tím hrát? |
Bude to fungovat v kontejneru i mimo |
Do testů to nepotřebuju, ale potřebuju, aby se na devel2/3 pouštěly kontejnery stejným |
Note to self: je to v bps, takže 100 MB/s = 800 mbps. |
Tohle nastavení se vztahuje jenom na |
Jo, mělo by se to limitovat všude, kde ten kontejner může něco zapisovat/číst. |
^ tím |
ok, vyzkouším to. předtím mi to nešlo, ale to bylo zas s tím |
Tomuhle nerozumím, k čemu to teda potřebuješ? |
Tohle je single-point-of-truth pro docker run commandy. docker-bundle/Docker/Container.php Lines 373 to 398 in 79d111c
Pokud tam přidám
|
Ještě zkoumám možnost, že by se nějak dynamicky generoval list deviců a daly se tam prostě všechny. |
to bych nedělal. Počkej mmnt já se k tomu pak vrátím a chci zkusit jestli to bude fungovat i na ten pool. Jak namapovat dynamicky ten tmp pak bude jednoduchý, i když mi to přijde zbytečný. |
|
to schválně pak zkusím jestli to funguje i přímo na tech devices. |
S těma bps a b/s to není tak jednoznačný. použil jsem teď
|
jo, fungue to i přímo na devicech |
|
jj, jede to:
Jenom je potřeba počítat s tím že jsou v raid takže to dává 2x více. |
Takže kdyby do RAIDu přibylo víc disků, tak to zase vyletí nahoru. |
Uvnitř kontejneru mi to zatím nelimituje:
|
hmm, tak jak na to uvnitř kontejneru nevím... |
Ok, nechám to pár dní být a pak se k tomu zkusím vrátit. To je docela divný, ale potvrzuju, taky mi to nezalimitovalo! |
nelimituje
|
Ještě jsem se v tom vrtal podle https://ogavrisevs.github.io/2016/07/11/isolation-in-docker/#disk-usage-base-device ale neúspěšně. Podle mě failuju na tom, že neumím identifikovat device, kterej používá storage driver pro |
pro |
A jak zjístím, kterej to je? |
Z tohodle nic nevykoukám
|
mám tam symlinky na
Pro jistotu jsem zkusil teda i ty symlinky
a taky nic |
Ale myslím, že můžeme udělat docela rozumnej workaround. Kontejner má omezení na 10 GB, do něj se mountuje |
jo to by mohlo být ok |
|
#289 - omezil jsem defaultně IO na 50 MB/s |
merged in 51373ee |
--device-read-bps
,--device-write-bps
,--cpus
https://keboola.slack.com/archives/C03JBGZDG/p1524126714000272
mohlo by pomoct s #267
The text was updated successfully, but these errors were encountered: