Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
220 changes: 103 additions & 117 deletions conf/client.conf
Original file line number Diff line number Diff line change
@@ -1,70 +1,69 @@
#### block cache
# {
# block_cache.cache_store:
# --cache_store:
# cache store type, none, disk or 3fs
#
# block_cache.stage_bandwidth_throttle_enable:
# --stage_bandwidth_throttle_enable:
# block will been put to s3 storage directly if disk write bandwidth
# exceed limit.
#
# disk_cache.cache_dir:
# --cache_dir:
# directory for store cache block, multi directories
# and corresponding max size are supported, e.g. "/data1:200;/data2:300"
#
# disk_cache.ioring_iodepth:
# --ioring_iodepth:
# iodepth for io ring (works for both linux io uring and 3fs usrbio)
block_cache.cache_store=disk
block_cache.enable_stage=true
block_cache.enable_cache=true
block_cache.trace_logging=true
block_cache.upload_stage_throttle_enable=false
block_cache.upload_stage_throttle_bandwidth_mb=256
block_cache.upload_stage_throttle_iops=100
block_cache.upload_stage_max_inflights=32
block_cache.prefetch_max_inflights=100
block_cache.storage_upload_retry_timeout_s=1800
block_cache.storage_download_retry_timeout_s=1800

disk_cache.cache_dir=. # __DINGOADM_TEMPLATE__ /dingofs/client/data/cache __DINGOADM_TEMPLATE__
disk_cache.cache_size_mb=102400
disk_cache.free_space_ratio=0.1
disk_cache.cache_expire_s=259200
disk_cache.cleanup_expire_interval_ms=1000
disk_cache.ioring_iodepth=128

disk_state.tick_duration_s=60
disk_state.normal2unstable_error_num=3
disk_state.unstable2normal_succ_num=10
disk_state.unstable2down_s=1800
disk_state.check_duration_ms=3000
--cache_store=disk
--enable_stage=true
--enable_cache=true
--cache_trace_logging=true
--upload_stage_throttle_enable=false
--upload_stage_throttle_bandwidth_mb=256
--upload_stage_throttle_iops=100
--upload_stage_max_inflights=32
--prefetch_max_inflights=100
--storage_upload_retry_timeout_s=1800
--storage_download_retry_timeout_s=1800

--cache_dir=.
--cache_size_mb=102400
--free_space_ratio=0.1
--cache_expire_s=259200
--cleanup_expire_interval_ms=1000
--ioring_iodepth=128

--disk_state_tick_duration_s=60
--disk_state_normal2unstable_error_num=3
--disk_state_unstable2normal_succ_num=10
--disk_state_unstable2down_s=1800
--disk_state_check_duration_ms=3000
# }

#### remote cache
# {
remote_cache.cache_group=
remote_cache.mds_addrs=127.0.0.1:6900
remote_cache.mds_rpc_timeout_ms=3000
remote_cache.mds_rpc_retry_times=1
remote_cache.mds_request_retry_times=3
remote_cache.load_members_interval_ms=1000

remote_cache.fill_group_cache=true
remote_cache.subrequest_range_size=1048576
remote_cache.rpc_connect_timeout_ms=1000
remote_cache.rpc_connect_timeout_as_unreachable=10
remote_cache.rpc_max_connection_pool_size=256
remote_cache.put_rpc_timeout_ms=30000
remote_cache.range_rpc_timeout_ms=30000
remote_cache.cache_rpc_timeout_ms=30000
remote_cache.prefetch_rpc_timeout_ms=3000
remote_cache.ping_rpc_timeout_ms=1000
remote_cache.rpc_max_retry_time=3
remote_cache.rpc_max_timeout_ms=60000

cache_node_state.tick_duration_s=30
cache_node_state.normal2unstable_error_num=10
cache_node_state.unstable2normal_succ_num=3
cache_node_state.check_duration_ms=3000
--cache_group=
--mds_rpc_timeout_ms=3000
--mds_rpc_retry_times=1
--mds_request_retry_times=3
--load_members_interval_ms=1000

--fill_group_cache=true
--subrequest_range_size=1048576
--rpc_connect_timeout_ms=1000
--rpc_connect_timeout_as_unreachable=10
--rpc_max_connection_pool_size=256
--put_rpc_timeout_ms=30000
--range_rpc_timeout_ms=30000
--cache_rpc_timeout_ms=30000
--prefetch_rpc_timeout_ms=3000
--ping_rpc_timeout_ms=1000
--rpc_max_retry_time=3
--rpc_max_timeout_ms=60000

--cache_node_state_tick_duration_s=30
--cache_node_state_normal2unstable_error_num=10
--cache_node_state_unstable2normal_succ_num=3
--cache_node_state_check_duration_ms=3000
# }

#### control fuse module
Expand All @@ -80,115 +79,102 @@ cache_node_state.check_duration_ms=3000
# but there might be a kernel issue that will cause kernel panic when enabling it
# see https://lore.kernel.org/all/CAAmZXrsGg2xsP1CK+cbuEMumtrqdvD-NKnWzhNcvn71RV3c1yw@mail.gmail.com/
# until this issue has been fixed, splice should be disabled
fuse.conn_info.want_splice_move=false
fuse.conn_info.want_splice_read=false
fuse.conn_info.want_splice_write=false
fuse.conn_info.want_auto_inval_data=true
fuse.file_info.direct_io=false
fuse.file_info.keep_cache=true
--fuse_conn_info_want_splice_move=false
--fuse.conn_info_want_splice_read=false
--fuse.conn_info_want_splice_write=false
--fuse_conn_info_want_auto_inval_data=true
--fuse_file_info_direct_io=false
--fuse_file_info_keep_cache=true
# }

#### Memrory page allocator
# {
#
data_stream.page.size=65536
data_stream.page.total_size_mb=1024
data_stream.page.use_pool=true
--data_stream_page.size=65536
--data_stream_page.total_size_mb=1024
--data_stream_page.use_pool=true
# }

#### aws sdk
# {
#
s3.region=us-east-1
s3.useVirtualAddressing=false
--s3_region=us-east-1
--s3_use_virtual_address=false
# Off = 0,Fatal = 1,Error = 2,Warn = 3,Info = 4,Debug = 5,Trace = 6
s3.logLevel=4
s3.verify_SSL=False
s3.maxConnections=32
s3.connectTimeout=60000
s3.requestTimeout=10000
s3.use_crt_client=true
--s3_loglevel=4
--s3_verify_ssl=False
--s3_max_connections=32
--s3_connect_timeout=60000
--s3_request_timeout=10000
--s3.use_crt_client=true
# this only work when use_crt_client is false
s3.use_thread_pool=false
--s3_use_thread_pool=false
# this only work when use_crt_client is false and use_thread_pool is true
s3.async_thread_num_in_thread_pool=256
s3.enableTelemetry=false
--s3_async_thread_num=256
--s3_enable_telemetry=false
# }

#### block throttle
# {
#
s3.throttle.iopsTotalLimit=0
s3.throttle.iopsReadLimit=0
s3.throttle.iopsWriteLimit=0
s3.throttle.bpsTotalMB=0
s3.throttle.bpsReadMB=0
s3.throttle.bpsWriteMB=0
--iops_total_limit=0
--iops_read_limit=0
--iops_write_limit=0
--io_bandwidth_total_mb=0
--io_bandwidth_read_mb=0
--io_bandwidth_write_mb=0
# limit all inflight async requests' bytes, |0| means not limited
s3.maxAsyncRequestInflightBytes=104857600
--io_max_inflight_async_bytes=104857600
# }

#### log related
# {
#
client.common.logDir=/data/logs/dingofs # __DINGOADM_TEMPLATE__ /dingofs/client/logs __DINGOADM_TEMPLATE__
--client_log_dir=/data/logs/dingofs
# as the number increases, it becomes more and more detailed
client.loglevel=0
--client_log_level=0
# }

#### brpc
# {
#
# close socket after defer.close.second
rpc.defer.close.second=1
# rpc health check interval in second, 0 or negative value means disable health check
rpc.healthCheckIntervalSec=3
# }

mds.addr=172.20.61.102:7801

### uds
uds.fdCommPath=/var/run # unix domain socket file path
### unix domain socket file path
--socket_path=/var/run/

### block access related options

block_access.rados.rados_op_timeout=120
--rados_op_timeout=120

### vfs data related options

# vfs.data.writeback_suffix:
# file with the specified suffix will use writeback write policy,
# multi suffixs supported, e.g. .pt:.ckpt
vfs.data.writeback_suffix=
vfs.data.writeback=false
vfs.data.flush_bg_thread=16
vfs.data.vfs_periodic_flush_interval_ms=100
--vfs_data_writeback_suffix=
--vfs_data_writeback=false
--client_vfs_flush_bg_thread=16
--client_vfs_periodic_flush_interval_ms=100

vfs.data.single_tread_read=false
# only work when vfs.data.single_thread_read is false
vfs.data.read_executor_thread=8
--client_vfs_read_executor_thread=8

#prefetch config
vfs.prefetch.blocks=1
vfs.prefetch.threads=8
--client_vfs_prefetch_blocks=1
--client_vfs_prefetch_threads=8

# warmup config
vfs.warmup.threads=4
vfs.intime_warmup.enbale=false
vfs.intime_warmup.restart_mtime_interval_secs=120 #2min
vfs.intime_warmup.restart_trigger_interval_secs=1800 #30min
--client_vfs_warmup_threads=4
--client_vfs_intime_warmup_enable=false
--client_vfs_warmup_mtime_restart_interval_secs=120
--client_vfs_warmup_trigger_restart_interval_secs=1800


### vfs meta related options
vfs.meta.max_name_length=255 # max length of file name
--vfs_meta_max_name_length=255

# Default 0, the worker num of bthread whill be #cpu-cores
vfs.bthread_worker_num=0
vfs.dummy_server.port=10000
--client_bthread_worker_num=0
--vfs_dummy_server_port=10000

# related loggging
vfs.access_logging=true
vfs.access_log_threshold_us=0
vfs.vfs_meta_logging=true
vfs.vfs_meta_log_threshold_us=1000
--client_access_logging=true
--client_access_log_threshold_us=0
--client_vfs_meta_logging=true
--client_vfs_meta_log_threshold_us=1000

vfs.trace_logging=false
--trace_logging=false
1 change: 1 addition & 0 deletions src/cache/benchmark/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ target_link_libraries(cache_benchmark
cache_utils
cache_common
cache_storage
cache_tiercache
)

add_executable(cache-bench main.cc)
Expand Down
1 change: 1 addition & 0 deletions src/cache/cachegroup/cache_group_node_server.cc
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
#include "cache/cachegroup/cache_group_node.h"
#include "cache/cachegroup/cache_group_node_service.h"
#include "cache/common/macro.h"
#include "common/options/cache.h"

namespace brpc {
DECLARE_bool(graceful_quit_on_sigterm);
Expand Down
2 changes: 1 addition & 1 deletion src/cache/common/mds_client.cc
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
namespace dingofs {
namespace cache {

DEFINE_string(mds_addrs, "",
DEFINE_string(mds_addrs, "127.0.0.1:7400",
"Cache group member manager service rpc addresses");
DEFINE_validator(mds_addrs, Helper::NonEmptyString);

Expand Down
1 change: 1 addition & 0 deletions src/client/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ target_link_libraries(fuse_client_lib
dingofs_metrics
dingofs_common
client_options
cache_tiercache
jsoncpp
${FUSE3_LIBRARY}

Expand Down
Loading