Details
-
Improvement
-
Resolution: Unresolved
-
Major
-
5.0.1
-
(Currently, we're using a patch and that is inconvenient)
(Our patch forces ZERO fsyncs from saveDocs, which is not good for everybody, but for now is OK for us, we have constantly going compaction process and vbucket gets compacted every 2 minutes, and we may afford to loose 2 minutes of updates, but MUCH rather prefer smaller loss)(Currently, we're using a patch and that is inconvenient) (Our patch forces ZERO fsyncs from saveDocs, which is not good for everybody, but for now is OK for us, we have constantly going compaction process and vbucket gets compacted every 2 minutes, and we may afford to loose 2 minutes of updates, but MUCH rather prefer smaller loss)
-
1
Description
Currently fsync (among other places) is called here:
[root@cust1cntsdfdb1 ~]# grep -3 sync /tmp/paf-1.txt |
Thread 25 (Thread 0x2b34d2fd8940 (LWP 30693)): |
#0 0x000000301bece4d7 in fdatasync () from /lib64/libc.so.6 |
#1 0x00002b34bb63f79f in couch_sync () from /opt/couchbase/lib/libcouchstore.so.1 |
#2 0x00002b34bb3dce9f in cfs_sync () from /opt/couchbase/lib/memcached/ep.so |
#3 0x00002b34bb639b1f in couchstore_commit () from /opt/couchbase/lib/libcouchstore.so.1 |
#4 0x00002b34bb3d3e35 in CouchKVStore::saveDocs(unsigned short, unsigned long, _doc**, _docinfo**, int) () from /opt/couchbase/lib/memcached/ep.so #5 0x00002b34bb3d45ab in CouchKVStore::commit2couchstore() () from /opt/couchbase/lib/memcached/ep.so |
[root@cust1cntsdfdb1 ~]# |
This causes way too many fsync calls per second on our system, the system can not handle that.
Please consider making this fsync called not with every saveData, but configurable
- along these lines:
MB-25509. - Or, maybe, these lines: https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_fsync_threshold
We absolutely need some way to reduce number of fsyncs on our load or we can't use Couchbase out of the box..