Hi,
Ich habe einen Server mit 8 GB RAM und ZFS.
Nun erscheint mir das Cache-Verhalten mit ZFS verbesserungswürdig: die
Maschine hat noch ca. 1.5 GB RAM frei, aber mir ist aufgefallen, dass
manche Dateien nicht gecacht werden. Zuerst ist mir das mit einer
MySQL-Tabelle in gammeligem MyISAM von ca. 500 MB aufgefallen: alter
Server mit 2 GB RAM und UFS hat die fast immer nahezu komplett im RAM,
hier auch bei wiederholtem Lesen der Datei nicht.
Aber auch Tests mit ca. 50 MB großen Testdateien zeigten: wiederholtes
Lesen (time cat file >/dev/null) führen bei ZFS NICHT dazu, dass die aus
dem Cache kommt. Bei UFS (Root-Partition) schon.
Habe mir daraufhin mal die ARC-Infos angeschaut, Ausgabe von
arc_summary.pl:
<http://jhell.googlecode.com/svn/base/head/scripts/zfs/arc_summary/arc_summary.pl>
ARC Size:
Current Size: 84.97% 1401.29M (arcsize)
Target Size: (Adaptive) 12.50% 206.14M (c)
Min Size (Hard Limit): 12.50% 206.14M (c_min)
Max Size (High Water): ~8:1 1649.14M (c_max)
Auch nach mehrfachem Lesen einer 50 MB-Datei wird diese nicht gecacht.
Es wundert mich, warum auch nach mehrfachem Lesen das ZFS die Datei nicht
in den Cache packt; immerhin ist ja noch was frei.
Und: Warum wird der Maximalwert für ARC auf nur ca. 1.6 GB gesetzt, ist
es sinnvoll den in /boot/loader.conf hochzusetzen? Der FreeBSD ZFS Tuning
Guide sagt, unter AMD64 bräuchte man nichts machen.
Ich denke ich könnte nochmal 1 bis 1.5 GB zusätzlich für den Cache
nutzen.
Wie läuft das Speicher-Handling, wenn aber doch mal die laufenden
Prozesse 1.5 GB mehr brauchen? Normalerweise würde dann ja der Cache
freigegeben werden, klappt das auch mit ZFS sauber?
Unten noch die komplette Ausgabe von arc_summary.pl.
Ciao
Alvar
------------------------------------------------------------------------
System Summary Tue Jun 29 11:45:57 2010
FreeBSD 8.0-RELEASE #3: Mon Nov 30 01:39:08 CET 2009 root
Kernel Version: 800107 (osreldate)
Hardware Platform: amd64
Processor Architecture: amd64
11:45AM up 128 days, 2:02, 2 users, load averages: 0.14, 0.23, 0.24
------------------------------------------------------------------------
Physical Memory: 8175.41M
Page Size: 4096
Kernel Memory
TOTAL: 1287.92M
DATA: 98.82% 1272.71M
TEXT: 1.18% 15.21M
ARC Summary
Storage pool Version: 13 (spa)
Filesystem Version: 3 (zpl)
Memory Throttle Count: 4
ARC Misc:
Deleted: 138999579
Recycle Misses: 121603211
Mutex Misses: 1086913
Evict Skips: 1086913
ARC Size:
Current Size: 84.90% 1400.20M (arcsize)
Target Size: (Adaptive) 12.50% 206.14M (c)
Min Size (Hard Limit): 12.50% 206.14M (c_min)
Max Size (High Water): ~8:1 1649.14M (c_max)
ARC Size Breakdown:
Recently Used Cache Size: 14.72% 206.14M (p)
Frequently Used Cache Size: 85.28% 1194.06M (arcsize-p)
ARC Hash Breakdown:
Elements Max: 299242
Elements Current: 18.05% 54024
Collisions: 206642343
Chain Max: 13
Chains: 8568
ARC Efficiency:
Cache Access Total: 2082733740
Cache Hit Ratio: 91.10% 1897293530
Cache Miss Ratio: 8.90% 185440210
Actual Hit Ratio: 78.29% 1630625632
Data Demand Efficiency: 96.14%
Data Prefetch Efficiency: 90.92%
CACHE HITS BY CACHE LIST:
Anonymous: 8.90% 168831073
Most Recently Used: 18.40% 349090905 (mru)
Most Frequently Used: 67.55% 1281534727 (mfu)
Most Recently Used Ghost: 1.96% 37150955 (mru_ghost)
Most Frequently Used Ghost: 3.20% 60685870 (mfu_ghost)
CACHE HITS BY DATA TYPE:
Demand Data: 46.11% 874749447
Prefetch Data: 4.81% 91236977
Demand Metadata: 39.15% 742851680
Prefetch Metadata: 9.93% 188455426
CACHE MISSES BY DATA TYPE:
Demand Data: 18.96% 35161281
Prefetch Data: 4.92% 9116896
Demand Metadata: 44.68% 82851668
Prefetch Metadata: 31.44% 58310365
L2 ARC Stats: (enabled with access > 0) 0
VDEV Cache Summary
Access Total: 137032564
Hits Ratio: 59.99% 82211532
Miss Ratio: 40.01% 54821032
Delegations: 2730924
ZFS Tunable (sysctl):
kern.maxusers=384
vfs.zfs.arc_meta_limit=432312320
vfs.zfs.arc_meta_used=1129673976
vfs.zfs.mdcomp_disable=0
vfs.zfs.arc_min=216156160
vfs.zfs.arc_max=1729249280
vfs.zfs.zfetch.array_rd_sz=1048576
vfs.zfs.zfetch.block_cap=256
vfs.zfs.zfetch.min_sec_reap=2
vfs.zfs.zfetch.max_streams=8
vfs.zfs.prefetch_disable=0
vfs.zfs.recover=0
vfs.zfs.txg.synctime=5
vfs.zfs.txg.timeout=30
vfs.zfs.scrub_limit=10
vfs.zfs.vdev.cache.bshift=16
vfs.zfs.vdev.cache.size=10485760
vfs.zfs.vdev.cache.max=16384
vfs.zfs.vdev.aggregation_limit=131072
vfs.zfs.vdev.ramp_rate=2
vfs.zfs.vdev.time_shift=6
vfs.zfs.vdev.min_pending=4
vfs.zfs.vdev.max_pending=35
vfs.zfs.cache_flush_disable=0
vfs.zfs.zil_disable=0
vfs.zfs.version.zpl=3
vfs.zfs.version.vdev_boot=1
vfs.zfs.version.spa=13
vfs.zfs.version.dmu_backup_stream=1
vfs.zfs.version.dmu_backup_header=2
vfs.zfs.version.acl=1
vfs.zfs.debug=0
vfs.zfs.super_owner=0
vm.kmem_size=2766798848
vm.kmem_size_scale=3
vm.kmem_size_min=0
vm.kmem_size_max=329853485875
------------------------------------------------------------------------
-- ** Alvar C.H. Freude, http://alvar.a-blast.org/ ** http://www.assoziations-blaster.de/ ** http://www.wen-waehlen.de/ ** http://www.perl-blog.de/ To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Tue 29 Jun 2010 - 11:55:11 CEST