Date: Wed, 22 Jul 2020 05:04:54 +0000 From: Rick Macklem <rmacklem@uoguelph.ca> To: mike tancsa <mike@sentex.net>, Ronald Klop <ronald-lists@klop.ws>, FreeBSD-STABLE Mailing List <freebsd-stable@freebsd.org> Subject: Re: zfs meta data slowness Message-ID: <QB1PR01MB3364420AA4C45D2BDD089C0DDD790@QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM> In-Reply-To: <975657af-ccac-bbd1-e22b-86270c624226@sentex.net> References: <b6d670e6-6e35-a1f7-7daf-76b458f26e30@sentex.net> <1949194763.1.1595250243575@localhost>, <975657af-ccac-bbd1-e22b-86270c624226@sentex.net>
next in thread | previous in thread | raw e-mail | index | archive | help
mike tancsa wrote:=0A= >Hi,=0A= > Thanks for the response. Reply in line=0A= >=0A= >On 7/20/2020 9:04 AM, Ronald Klop wrote:=0A= >> Hi,=0A= >>=0A= >> My first suggestion would be to remove a lot of snapshots. But that my= =0A= >> not match your business case.=0A= >=0A= >As its a backup server, its sort of the point to have all those snapshots.= =0A= I'm the last guy who should be commenting on ZFS, since I never use it.=0A= However, it is my understanding that ZFS "pseudo automounts" each=0A= snapshot when you go there, so I think that might be what is taking=0A= so long (ie. not really meta data).=0A= =0A= Of course I have no idea what might speed that up. I would be=0A= tempted to look in ZFS for the "snapshot mounting code", in=0A= case I could find an obvious problem...=0A= =0A= rick=0A= =0A= =0A= > Maybe you can provide more information about your setup:=0A= > Amount of RAM, CPU?=0A= 64G, Xeon(R) CPU E3-1240 v6 @ 3.70GHz=0A= > output of "zpool status"=0A= # zpool status -x=0A= =0A= all pools are healthy=0A= =0A= =0A= > output of "zfs list" if possible to share=0A= =0A= its a big list=0A= =0A= # zfs list | wc=0A= 824 4120 107511=0A= =0A= =0A= > Type of disks/ssds?=0A= old school Device Model: WDC WD80EFAX-68KNBN0=0A= > What is the load of the system? I/O per second, etc.=0A= its not cpu bound, disks are sometimes running at 100% based on gstat,=0A= but not always=0A= > Do you use dedup, GELI?=0A= =0A= no and no=0A= =0A= =0A= > Something else special about the setup.=0A= > output of "top -b"=0A= >=0A= =0A= ports are right now being built in a VM, but the problem (zrepl hanging)=0A= and zfs list -t snapshots taking forever happens regardless=0A= =0A= PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU=0A= COMMAND=0A= 4439 root 12 40 20 6167M 5762M kqread 3 535:13 200.00% bhyv= e=0A= 98783 root 2 21 0 16M 5136K hdr->b 4 0:01 1.95% zfs= =0A= 76489 root 21 23 0 738M 54M uwait 1 2:18 0.88% zrep= l=0A= 98784 root 1 21 0 13M 3832K piperd 3 0:01 0.59% zfs= =0A= 99563 root 1 20 0 13M 4136K zio->i 4 0:00 0.39% zfs= =0A= 16136 root 18 25 0 705M 56M uwait 3 29:58 0.00%=0A= zrepl-freebsd-amd64=0A= 1845 root 1 20 0 12M 3772K nanslp 7 5:54 0.00%=0A= ossec-syscheckd=0A= 1567 root 1 20 0 11M 2744K select 0 2:22 0.00%=0A= syslogd=0A= 1737 root 32 20 0 11M 2844K rpcsvc 6 1:40 0.00% nfsd= =0A= 1660 root 1 -52 r0 11M 11M nanslp 5 1:18 0.00%=0A= watchdogd=0A= 1434 root 1 20 0 9988K 988K select 3 0:27 0.00% devd= =0A= 2435 mdtancsa 1 20 0 20M 8008K select 0 0:21 0.00% sshd= =0A= 1754 root 3 20 0 18M 3556K select 1 0:11 0.00%=0A= apcupsd=0A= 5917 root 1 20 0 11M 2672K select 2 0:06 0.00%=0A= script=0A= 1449 _pflogd 1 20 0 12M 3572K bpf 3 0:05 0.00%=0A= pflogd=0A= =0A= ---Mike=0A= =0A= > That kind of information.=0A= >=0A= > Regards,=0A= > Ronald.=0A= >=0A= >=0A= > Van: mike tancsa <mike@sentex.net>=0A= > Datum: zondag, 19 juli 2020 16:17=0A= > Aan: FreeBSD-STABLE Mailing List <freebsd-stable@freebsd.org>=0A= > Onderwerp: zfs meta data slowness=0A= >>=0A= >> Are there any tweaks that can be done to speed up or improve zfs=0A= >> metadata performance ? I have a backup server with a lot of snapshots=0A= >> (40,000) and just doing a listing can take a great deal of time. Best= =0A= >> case scenario is about 24 seconds, worst case, I have seen it up to 15= =0A= >> minutes. (FreeBSD 12.1-STABLE r363078)=0A= >>=0A= >>=0A= >> ARC Efficiency: 79.33b=0A= >> Cache Hit Ratio: 92.81% 73.62b=0A= >> Cache Miss Ratio: 7.19% 5.71b=0A= >> Actual Hit Ratio: 92.78% 73.60b=0A= >>=0A= >> Data Demand Efficiency: 96.47% 461.91m=0A= >> Data Prefetch Efficiency: 1.00% 262.73m=0A= >>=0A= >> CACHE HITS BY CACHE LIST:=0A= >> Anonymously Used: 0.01% 3.86m=0A= >> Most Recently Used: 3.91% 2.88b=0A= >> Most Frequently Used: 96.06% 70.72b=0A= >> Most Recently Used Ghost: 0.01% 5.31m=0A= >> Most Frequently Used Ghost: 0.01% 10.47m=0A= >>=0A= >> CACHE HITS BY DATA TYPE:=0A= >> Demand Data: 0.61% 445.60m=0A= >> Prefetch Data: 0.00% 2.63m=0A= >> Demand Metadata: 99.36% 73.15b=0A= >> Prefetch Metadata: 0.03% 21.00m=0A= >>=0A= >> CACHE MISSES BY DATA TYPE:=0A= >> Demand Data: 0.29% 16.31m=0A= >> Prefetch Data: 4.56% 260.10m=0A= >> Demand Metadata: 95.02% 5.42b=0A= >> Prefetch Metadata: 0.14% 7.75m=0A= >>=0A= >>=0A= >> Other than increase the metadata max, I havent really changed any=0A= >> tuneables=0A= >>=0A= >>=0A= >> ZFS Tunables (sysctl):=0A= >> kern.maxusers 4416=0A= >> vm.kmem_size 66691842048=0A= >> vm.kmem_size_scale 1=0A= >> vm.kmem_size_min 0=0A= >> vm.kmem_size_max 1319413950874=0A= >> vfs.zfs.trim.max_interval 1=0A= >> vfs.zfs.trim.timeout 30=0A= >> vfs.zfs.trim.txg_delay 32=0A= >> vfs.zfs.trim.enabled 1=0A= >> vfs.zfs.vol.immediate_write_sz 32768=0A= >> vfs.zfs.vol.unmap_sync_enabled 0=0A= >> vfs.zfs.vol.unmap_enabled 1=0A= >> vfs.zfs.vol.recursive 0=0A= >> vfs.zfs.vol.mode 1=0A= >> vfs.zfs.version.zpl 5=0A= >> vfs.zfs.version.spa 5000=0A= >> vfs.zfs.version.acl 1=0A= >> vfs.zfs.version.ioctl 7=0A= >> vfs.zfs.debug 0=0A= >> vfs.zfs.super_owner 0=0A= >> vfs.zfs.immediate_write_sz 32768=0A= >> vfs.zfs.sync_pass_rewrite 2=0A= >> vfs.zfs.sync_pass_dont_compress 5=0A= >> vfs.zfs.sync_pass_deferred_free 2=0A= >> vfs.zfs.zio.dva_throttle_enabled 1=0A= >> vfs.zfs.zio.exclude_metadata 0=0A= >> vfs.zfs.zio.use_uma 1=0A= >> vfs.zfs.zio.taskq_batch_pct 75=0A= >> vfs.zfs.zil_maxblocksize 131072=0A= >> vfs.zfs.zil_slog_bulk 786432=0A= >> vfs.zfs.zil_nocacheflush 0=0A= >> vfs.zfs.zil_replay_disable 0=0A= >> vfs.zfs.cache_flush_disable 0=0A= >> vfs.zfs.standard_sm_blksz 131072=0A= >> vfs.zfs.dtl_sm_blksz 4096=0A= >> vfs.zfs.min_auto_ashift 9=0A= >> vfs.zfs.max_auto_ashift 13=0A= >> vfs.zfs.vdev.trim_max_pending 10000=0A= >> vfs.zfs.vdev.bio_delete_disable 0=0A= >> vfs.zfs.vdev.bio_flush_disable 0=0A= >> vfs.zfs.vdev.def_queue_depth 32=0A= >> vfs.zfs.vdev.queue_depth_pct 1000=0A= >> vfs.zfs.vdev.write_gap_limit 4096=0A= >> vfs.zfs.vdev.read_gap_limit 32768=0A= >> vfs.zfs.vdev.aggregation_limit_non_rotating131072=0A= >> vfs.zfs.vdev.aggregation_limit 1048576=0A= >> vfs.zfs.vdev.initializing_max_active 1=0A= >> vfs.zfs.vdev.initializing_min_active 1=0A= >> vfs.zfs.vdev.removal_max_active 2=0A= >> vfs.zfs.vdev.removal_min_active 1=0A= >> vfs.zfs.vdev.trim_max_active 64=0A= >> vfs.zfs.vdev.trim_min_active 1=0A= >> vfs.zfs.vdev.scrub_max_active 2=0A= >> vfs.zfs.vdev.scrub_min_active 1=0A= >> vfs.zfs.vdev.async_write_max_active 10=0A= >> vfs.zfs.vdev.async_write_min_active 1=0A= >> vfs.zfs.vdev.async_read_max_active 3=0A= >> vfs.zfs.vdev.async_read_min_active 1=0A= >> vfs.zfs.vdev.sync_write_max_active 10=0A= >> vfs.zfs.vdev.sync_write_min_active 10=0A= >> vfs.zfs.vdev.sync_read_max_active 10=0A= >> vfs.zfs.vdev.sync_read_min_active 10=0A= >> vfs.zfs.vdev.max_active 1000=0A= >> vfs.zfs.vdev.async_write_active_max_dirty_percent60=0A= >> vfs.zfs.vdev.async_write_active_min_dirty_percent30=0A= >> vfs.zfs.vdev.mirror.non_rotating_seek_inc1=0A= >> vfs.zfs.vdev.mirror.non_rotating_inc 0=0A= >> vfs.zfs.vdev.mirror.rotating_seek_offset1048576=0A= >> vfs.zfs.vdev.mirror.rotating_seek_inc 5=0A= >> vfs.zfs.vdev.mirror.rotating_inc 0=0A= >> vfs.zfs.vdev.trim_on_init 1=0A= >> vfs.zfs.vdev.cache.bshift 16=0A= >> vfs.zfs.vdev.cache.size 0=0A= >> vfs.zfs.vdev.cache.max 16384=0A= >> vfs.zfs.vdev.validate_skip 0=0A= >> vfs.zfs.vdev.max_ms_shift 34=0A= >> vfs.zfs.vdev.default_ms_shift 29=0A= >> vfs.zfs.vdev.max_ms_count_limit 131072=0A= >> vfs.zfs.vdev.min_ms_count 16=0A= >> vfs.zfs.vdev.default_ms_count 200=0A= >> vfs.zfs.txg.timeout 5=0A= >> vfs.zfs.space_map_ibs 14=0A= >> vfs.zfs.special_class_metadata_reserve_pct25=0A= >> vfs.zfs.user_indirect_is_special 1=0A= >> vfs.zfs.ddt_data_is_special 1=0A= >> vfs.zfs.spa_allocators 4=0A= >> vfs.zfs.spa_min_slop 134217728=0A= >> vfs.zfs.spa_slop_shift 5=0A= >> vfs.zfs.spa_asize_inflation 24=0A= >> vfs.zfs.deadman_enabled 1=0A= >> vfs.zfs.deadman_checktime_ms 5000=0A= >> vfs.zfs.deadman_synctime_ms 1000000=0A= >> vfs.zfs.debugflags 0=0A= >> vfs.zfs.recover 0=0A= >> vfs.zfs.spa_load_verify_data 1=0A= >> vfs.zfs.spa_load_verify_metadata 1=0A= >> vfs.zfs.spa_load_verify_maxinflight 10000=0A= >> vfs.zfs.max_missing_tvds_scan 0=0A= >> vfs.zfs.max_missing_tvds_cachefile 2=0A= >> vfs.zfs.max_missing_tvds 0=0A= >> vfs.zfs.spa_load_print_vdev_tree 0=0A= >> vfs.zfs.ccw_retry_interval 300=0A= >> vfs.zfs.check_hostid 1=0A= >> vfs.zfs.multihost_fail_intervals 10=0A= >> vfs.zfs.multihost_import_intervals 20=0A= >> vfs.zfs.multihost_interval 1000=0A= >> vfs.zfs.mg_fragmentation_threshold 85=0A= >> vfs.zfs.mg_noalloc_threshold 0=0A= >> vfs.zfs.condense_pct 200=0A= >> vfs.zfs.metaslab_sm_blksz 4096=0A= >> vfs.zfs.metaslab.bias_enabled 1=0A= >> vfs.zfs.metaslab.lba_weighting_enabled 1=0A= >> vfs.zfs.metaslab.fragmentation_factor_enabled1=0A= >> vfs.zfs.metaslab.preload_enabled 1=0A= >> vfs.zfs.metaslab.preload_limit 3=0A= >> vfs.zfs.metaslab.unload_delay 8=0A= >> vfs.zfs.metaslab.load_pct 50=0A= >> vfs.zfs.metaslab.min_alloc_size 33554432=0A= >> vfs.zfs.metaslab.df_free_pct 4=0A= >> vfs.zfs.metaslab.df_alloc_threshold 131072=0A= >> vfs.zfs.metaslab.debug_unload 0=0A= >> vfs.zfs.metaslab.debug_load 0=0A= >> vfs.zfs.metaslab.fragmentation_threshold70=0A= >> vfs.zfs.metaslab.force_ganging 16777217=0A= >> vfs.zfs.free_bpobj_enabled 1=0A= >> vfs.zfs.free_max_blocks -1=0A= >> vfs.zfs.zfs_scan_checkpoint_interval 7200=0A= >> vfs.zfs.zfs_scan_legacy 0=0A= >> vfs.zfs.no_scrub_prefetch 0=0A= >> vfs.zfs.no_scrub_io 0=0A= >> vfs.zfs.resilver_min_time_ms 3000=0A= >> vfs.zfs.free_min_time_ms 1000=0A= >> vfs.zfs.scan_min_time_ms 1000=0A= >> vfs.zfs.scan_idle 50=0A= >> vfs.zfs.scrub_delay 4=0A= >> vfs.zfs.resilver_delay 2=0A= >> vfs.zfs.zfetch.array_rd_sz 1048576=0A= >> vfs.zfs.zfetch.max_idistance 67108864=0A= >> vfs.zfs.zfetch.max_distance 8388608=0A= >> vfs.zfs.zfetch.min_sec_reap 2=0A= >> vfs.zfs.zfetch.max_streams 8=0A= >> vfs.zfs.prefetch_disable 0=0A= >> vfs.zfs.delay_scale 500000=0A= >> vfs.zfs.delay_min_dirty_percent 60=0A= >> vfs.zfs.dirty_data_sync_pct 20=0A= >> vfs.zfs.dirty_data_max_percent 10=0A= >> vfs.zfs.dirty_data_max_max 4294967296=0A= >> vfs.zfs.dirty_data_max 4294967296=0A= >> vfs.zfs.max_recordsize 1048576=0A= >> vfs.zfs.default_ibs 17=0A= >> vfs.zfs.default_bs 9=0A= >> vfs.zfs.send_holes_without_birth_time 1=0A= >> vfs.zfs.mdcomp_disable 0=0A= >> vfs.zfs.per_txg_dirty_frees_percent 5=0A= >> vfs.zfs.nopwrite_enabled 1=0A= >> vfs.zfs.dedup.prefetch 1=0A= >> vfs.zfs.dbuf_cache_lowater_pct 10=0A= >> vfs.zfs.dbuf_cache_hiwater_pct 10=0A= >> vfs.zfs.dbuf_metadata_cache_overflow 0=0A= >> vfs.zfs.dbuf_metadata_cache_shift 6=0A= >> vfs.zfs.dbuf_cache_shift 5=0A= >> vfs.zfs.dbuf_metadata_cache_max_bytes 1025282816=0A= >> vfs.zfs.dbuf_cache_max_bytes 2050565632=0A= >> vfs.zfs.arc_min_prescient_prefetch_ms 6=0A= >> vfs.zfs.arc_min_prefetch_ms 1=0A= >> vfs.zfs.l2c_only_size 0=0A= >> vfs.zfs.mfu_ghost_data_esize 7778263552=0A= >> vfs.zfs.mfu_ghost_metadata_esize 16851792896=0A= >> vfs.zfs.mfu_ghost_size 24630056448=0A= >> vfs.zfs.mfu_data_esize 3059418112=0A= >> vfs.zfs.mfu_metadata_esize 28641792=0A= >> vfs.zfs.mfu_size 6399023104=0A= >> vfs.zfs.mru_ghost_data_esize 2199812096=0A= >> vfs.zfs.mru_ghost_metadata_esize 6289682432=0A= >> vfs.zfs.mru_ghost_size 8489494528=0A= >> vfs.zfs.mru_data_esize 22781456384=0A= >> vfs.zfs.mru_metadata_esize 309155840=0A= >> vfs.zfs.mru_size 23847875584=0A= >> vfs.zfs.anon_data_esize 0=0A= >> vfs.zfs.anon_metadata_esize 0=0A= >> vfs.zfs.anon_size 8556544=0A= >> vfs.zfs.l2arc_norw 1=0A= >> vfs.zfs.l2arc_feed_again 1=0A= >> vfs.zfs.l2arc_noprefetch 1=0A= >> vfs.zfs.l2arc_feed_min_ms 200=0A= >> vfs.zfs.l2arc_feed_secs 1=0A= >> vfs.zfs.l2arc_headroom 2=0A= >> vfs.zfs.l2arc_write_boost 8388608=0A= >> vfs.zfs.l2arc_write_max 8388608=0A= >> vfs.zfs.arc_meta_strategy 1=0A= >> vfs.zfs.arc_meta_limit 15833624576=0A= >> vfs.zfs.arc_free_target 346902=0A= >> vfs.zfs.arc_kmem_cache_reap_retry_ms 1000=0A= >> vfs.zfs.compressed_arc_enabled 1=0A= >> vfs.zfs.arc_grow_retry 60=0A= >> vfs.zfs.arc_shrink_shift 7=0A= >> vfs.zfs.arc_average_blocksize 8192=0A= >> vfs.zfs.arc_no_grow_shift 5=0A= >> vfs.zfs.arc_min 8202262528=0A= >> vfs.zfs.arc_max 39334498304=0A= >> vfs.zfs.abd_chunk_size 4096=0A= >> vfs.zfs.abd_scatter_enabled 1=0A= >>=0A= >> _______________________________________________=0A= >> freebsd-stable@freebsd.org mailing list=0A= >> https://lists.freebsd.org/mailman/listinfo/freebsd-stable=0A= >> To unsubscribe, send any mail to=0A= >> "freebsd-stable-unsubscribe@freebsd.org"=0A= >>=0A= >>=0A= >>=0A= > _______________________________________________=0A= > freebsd-stable@freebsd.org mailing list=0A= > https://lists.freebsd.org/mailman/listinfo/freebsd-stable=0A= > To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"= =0A= >=0A= _______________________________________________=0A= freebsd-stable@freebsd.org mailing list=0A= https://lists.freebsd.org/mailman/listinfo/freebsd-stable=0A= To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"= =0A=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?QB1PR01MB3364420AA4C45D2BDD089C0DDD790>