Project

General

Profile

Actions

Task #2809

closed

Mongo a příkaz/operátor pro vylití keší

Added by Radomír Orkáč almost 9 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Low
Category:
Testing
Target version:
-
Start date:
03/01/2016
Due date:
% Done:

0%

Estimated time:
To be discussed:

Description

Pharook:
Nemá Mongo nějaký příkaz/operátor pro vylití keší? Když už testujeme, bylo by možná dobré umět pro každý dotaz udělat cold/hot test, tj. "pro všechno teď musím na disk" a "ok, podruhé už ne, mám nakešováno". Přijde mi, že v tom testu je to jasně vidět.

Actions #1

Updated by Radomír Orkáč almost 9 years ago

Muj zaver k nize uvedenym poznamkam… - jedine echo X > /proc/ respektive pres sysctl je reseni, cili provede skutecne vyprazdneni cache.

https://www.youtube.com/watch?v=ivBcMSYA3zs

This command will clear pagecache:
/sbin/sysctl vm.drop_caches=1

To clear dentries and inodes you can use:
/sbin/sysctl vm.drop_caches=2

To free memory of the all above use a following command:
/sbin/sysctl vm.drop_caches=3

What the above commands will do is that they will sync your memory and edit a following file with appropriate number entry.:

/proc/sys/vm/drop_caches
Do not edit this file directly !
# sysctl vm.drop_caches=1
# echo 1 > /proc/sys/vm/drop_caches

# ./mongotest -f -c cache.cfg
Total elapsed time of script:  0:04:32.054979

Spousteno opakovane za sebou:
Total elapsed time of script:  0:00:49.331240
Total elapsed time of script:  0:00:51.899281
Total elapsed time of script:  0:00:51.121576

Spusteno po 10 hodinach:
Total elapsed time of script:  0:00:49.061840

# /etc/init.d/mongod restart
Total elapsed time of script:  0:00:49.754842

# top -p $(pidof mongod)
PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
6777 mongodb   20   0  1.433t 0.059t 0.059t S   0.7 31.7   6:17.93 mongod
# sysctl vm.drop_caches=3
# echo 1 > /proc/sys/vm/drop_caches
6777 mongodb   20   0  1.433t 0.059t 0.059t S   0.3 31.7   6:18.28 mongod

# ./mongotest -f -c cache.cfg
Total elapsed time of script:  0:04:42.690875
Actions #2

Updated by Radomír Orkáč almost 9 years ago

  • Status changed from In Progress to Feedback
Actions #3

Updated by Pavel Kácha almost 9 years ago

Lepší, než drátem do oka, pokud to alespoň trochu umíme. Testy, které jsi teď dělal (#2807) jsou cold (s vylitou keší) nebo hot?

Actions #4

Updated by Radomír Orkáč almost 9 years ago

Bez vylite kese, takze jsou teple;-) Hot

Actions #5

Updated by Pavel Kácha almost 9 years ago

Nemělo by smysl vylití keší vynutit u každého dotazu? Takhle ti předchozí dotazy můžou ovlivňovat výkon následujících (protože už něco načtou do paměti).

Actions #6

Updated by Radomír Orkáč almost 9 years ago

Pavel Kácha wrote:

Nemělo by smysl vylití keší vynutit u každého dotazu? Takhle ti předchozí dotazy můžou ovlivňovat výkon následujících (protože už něco načtou do paměti).

Smysl to sice rozhodne ma, ale pozor, nedoporucoval bych to na produkcni mongodb.
Orientacne to podle me bohate staci pro nalezeni leak dotazu.

Na produkcni databazi bych si to troufnul otestovat se smazanim kese, kdyby mi dal Mek nejaka okna, kdy vi, ze se s databazi nepracuje... (nejaka zpracovani), at mu to prilis neovlivnim.

Actions #7

Updated by Pavel Kácha almost 9 years ago

Určitě, máš pravdu. Pokud tyhle dotazy testuješ na produkci, tak invalidovat našich pěkných 8G paměti by nebylo rozumné.

Actions #8

Updated by Pavel Kácha over 8 years ago

  • Priority changed from Normal to Low

Snižuju prioritu, pokud se ukáže užitečné, možná by mělo smysl zakomponovat do skriptu třeba na přepínač.

Actions #9

Updated by Pavel Kácha over 7 years ago

  • Status changed from Feedback to Closed

Do skriptu by se z pohledu konzistence možná hodilo, ale po zkušenostech už víme, že problém není přístup na disk. Naše úvahy hot/cold měly pravděpodobně jen malý vliv (a v izolovaných případech, tj. po restartu, první přístupy apod.)

Actions

Also available in: Atom PDF