[ ... ] > The poor performance has existed from the beginning of using > BTRFS + KDE + Firefox (almost 2 years ago), at a point when > very few snapshots had yet been created. A comparison system > running similar hardware as well as KDE + Firefox (and LVM + > EXT4) did not have the performance problems. The difference > has been consistent and significant.
That seems rather unlikely to depend on Btrfs, as I use Firefox 56 + KDE4 + Btrfs without issue, on somewhat old/small desktop and laptop, and is implausible on general grounds. You haven't provided so far any indication or quantification of your "speed" problem (which may or not be a "performance" issue". The things to look at usually at disk IO latency and rates, and system CPU time while the bad speed is observable (user CPU time is usually stuck at 100% on any JS based site as written earlier). To look at IO latency and rates the #1 choice is always: 'iostat -dk -zyx 1' and to look as system CPU (and user CPU) and other interesting details I suggest using 'htop' with the attached configuration file to write to "$HOME/.config/htop/htoprc". > Sometimes I have used Snapper settings like this: > TIMELINE_MIN_AGE="1800" > TIMELINE_LIMIT_HOURLY="36" > TIMELINE_LIMIT_DAILY="30" > TIMELINE_LIMIT_MONTHLY="12" > TIMELINE_LIMIT_YEARLY="10" > However, I also have some computers set like this: > TIMELINE_MIN_AGE="1800" > TIMELINE_LIMIT_HOURLY="10" > TIMELINE_LIMIT_DAILY="10" > TIMELINE_LIMIT_WEEKLY="0" > TIMELINE_LIMIT_MONTHLY="0" > TIMELINE_LIMIT_YEARLY="0" The first seems a bit "aspirational". IIRC "someone" confessed that the SUSE default of 'TIMELINE_LIMIT_YEARLY="10"' was imposed by external forces in the SUSE default configuration: https://github.com/openSUSE/snapper/blob/master/data/default-config https://wiki.archlinux.org/index.php/Snapper#Set_snapshot_limits https://lists.opensuse.org/yast-devel/2014-05/msg00036.html
# Beware! This file is rewritten by htop when settings are changed in the interface. # The parser is also very primitive, and not human-friendly. fields=0 48 38 39 40 44 62 63 2 46 13 14 1 sort_key=47 sort_direction=1 hide_threads=1 hide_kernel_threads=1 hide_userland_threads=1 shadow_other_users=0 show_thread_names=1 highlight_base_name=1 highlight_megabytes=1 highlight_threads=1 tree_view=0 header_margin=0 detailed_cpu_time=1 cpu_count_from_zero=1 update_process_names=0 color_scheme=0 delay=15 left_meters=AllCPUs Memory Swap left_meter_modes=1 1 1 right_meters=Tasks LoadAverage Uptime right_meter_modes=2 2 2