Task #2809
closedMongo a příkaz/operátor pro vylití keší
0%
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.
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
Updated by Radomír Orkáč almost 9 years ago
- Status changed from In Progress to Feedback
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?
Updated by Radomír Orkáč almost 9 years ago
Bez vylite kese, takze jsou teple;-) Hot
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).
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.
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é.
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č.
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.)