I've writting a piece of Python code which can be run on a server
running OSDs and will print the overhead.
https://gist.github.com/wido/b1328dd45aae07c45cb8075a24de9f1f
Feedback on this script is welcome, but also the output of what people
are observing.
For mixed (filestore / bluestore) osd-host (ignore non bluestore osds):
--- ceph-bluestore-overhead.py_orig 2018-04-27 16:28:42.063312979 +0700
+++ ceph-bluestore-overhead.py 2018-04-27 16:28:01.035236995 +0700
@@ -37,10 +37,11 @@ def get_osd_perf():
if __name__ == '__main__':
perf = get_osd_perf()
for osd_id, perf in perf.items():
- onodes = perf['bluestore']['bluestore_onodes']
- stat_bytes_used = perf['osd']['stat_bytes_used']
- db_used_bytes = perf['bluefs']['db_used_bytes']
- overhead = db_used_bytes / onodes
- avg_obj_size = stat_bytes_used / onodes
+ if 'bluestore' in perf:
+ onodes = perf['bluestore']['bluestore_onodes']
+ stat_bytes_used = perf['osd']['stat_bytes_used']
+ db_used_bytes = perf['bluefs']['db_used_bytes']
+ overhead = db_used_bytes / onodes
+ avg_obj_size = stat_bytes_used / onodes
- print('osd.{0} onodes={1} db_used_bytes={2} avg_obj_size={3}
overhead_per_obj={4}'.format(osd_id, onodes, db_used_bytes,
avg_obj_size, overhead))
\ No newline at end of file
+ print('osd.{0} onodes={1} db_used_bytes={2}
avg_obj_size={3} overhead_per_obj={4}'.format(osd_id, onodes,
db_used_bytes, avg_obj_size, overhead))
k
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com