当前位置: 首页 > wzjs >正文

北京住房建设部官方网站企业网站建站的专业性原则是指

北京住房建设部官方网站,企业网站建站的专业性原则是指,百度推广网址是多少,企业数据查询网站背景 最近在看缓存相关,文件系统可以通过fscache加速,加速的效果就是读取的时候能够缓存,原理是在网关的地方加入一个高速缓存盘,这样在后续读取的时候,能够直接从缓存盘读取,这样能够减少与集群的交互&am…

背景

最近在看缓存相关,文件系统可以通过fscache加速,加速的效果就是读取的时候能够缓存,原理是在网关的地方加入一个高速缓存盘,这样在后续读取的时候,能够直接从缓存盘读取,这样能够减少与集群的交互,从而提供更大的性能,并且这个是缓存读取,所以数据安全性没有问题

rgw的d3n

这个功能就是给rgw的网关加入了一个缓存盘,指定一个目录,然后能够缓存数据到目录

版本要求

[root@lab201 ~]# ceph -v
ceph version 17.2.8 (f817ceb7f187defb1d021d6328fa833eb8e943b3) quincy (stable)

至少要这个版本才可以

操作系统要centos9

配置方法

debug_rgw=20
[client.rgw.lab201]host = lab201rgw_frontends="beast port=7481"rgw_content_length_compat = truergw_d3n_l1_local_datacache_enabled = truergw_d3n_l1_datacache_persistent_path = "/mnt/nvme0/rgw_datacache"rgw_d3n_l1_datacache_size = 10737418240

改好了重启进程即可

systemctl restart ceph-radosgw@rgw.lab201

有问题的时候看日志

注意问题

  • 文件需要大于4M才会缓存
  • 注意缓存目录的权限需要给ceph权限

4M的原因是:
D3N 当前仅缓存尾部对象,因为它们是不可变的(默认情况下它是大于 4MB 的对象的一部分)。(NGINX RGW 数据缓存和 CDN 支持缓存所有对象大小)
也就是文件的4M之后的部分是不可变的,默认去缓存这部分的对象

没有权限的报错信息

2025-04-02T17:38:30.910+0800 7fee1770e640  1 D3nDataCache: create_aio_write_request fail, r=-1
2025-04-02T17:38:30.916+0800 7fee1770e640 10 D3nDataCache::put(): oid=16e7b827-16ac-471c-a407-ef1872bd0058.34134.1__shadow_testfile8M.2~PGlAYwIJKyDrpFDYY4WWQJ1c_E0eVWV.1_1, len=4194304
2025-04-02T17:38:30.916+0800 7fee1770e640 20 D3nDataCache: Before eviction _free_data_cache_size:10737418240, _outstanding_write_size:0, freed_size:0
2025-04-02T17:38:30.916+0800 7fee1770e640  0 ERROR: D3nCacheAioWriteRequest::create_io: open file failed, errno=13, location='/mnt/nvme0/rgw_datacache/16e7b827-16ac-471c-a407-ef1872bd0058.34134.1__shadow_testfile8M.2~PGlAYwIJKyDrpFDYY4WWQJ1c_E0eVWV.1_1'
2025-04-02T17:38:30.916+0800 7fee1770e640  0 ERROR: D3nDataCache: d3n_libaio_create_write_request() prepare libaio write op r=-1
2025-04-02T17:38:30.916+0800 7fee1770e640  1 D3nDataCache: create_aio_write_request fail, r=-1

测试读取

[root@lab201 ceph]# aws   --endpoint=http://192.168.0.201:7481 s3 cp s3://testbucket/testfile8M /tmp/cccccc
download: s3://testbucket/testfile8M to ../../tmp/cccccc

查看日志

2025-04-02T17:43:07.435+0800 7f860fc987c0  1 D3N datacache enabled: 1
2025-04-02T17:43:07.596+0800 7f860fc987c0  5 D3nDataCache: init: evicting the persistent storage directory on start
2025-04-02T17:50:55.169+0800 7f85416e2640 20 req 134200468731872662 0.004000050s s3:get_obj D3nDataCache::get_obj_iterate_cb(): oid=16e7b827-16ac-471c-a407-ef1872bd0058.34134.1__multipart_testfile8M.2~PGlAYwIJKyDrpFDYY4WWQJ1c_E0eVWV.1, is_head_obj=0, obj-ofs=0, read_ofs=0, len=4194304
2025-04-02T17:50:55.169+0800 7f85416e2640 20 req 134200468731872662 0.004000050s s3:get_obj D3nDataCache: get_obj_iterate_cb(): WRITE TO CACHE: oid=16e7b827-16ac-471c-a407-ef1872bd0058.34134.1__multipart_testfile8M.2~PGlAYwIJKyDrpFDYY4WWQJ1c_E0eVWV.1, obj-ofs=0, read_ofs=0 len=4194304
2025-04-02T17:50:55.169+0800 7f85416e2640 20 req 134200468731872662 0.004000050s s3:get_obj D3nDataCache::get_obj_iterate_cb(): oid=16e7b827-16ac-471c-a407-ef1872bd0058.34134.1__shadow_testfile8M.2~PGlAYwIJKyDrpFDYY4WWQJ1c_E0eVWV.1_1, is_head_obj=0, obj-ofs=4194304, read_ofs=0, len=4194304
2025-04-02T17:50:55.169+0800 7f85416e2640 20 req 134200468731872662 0.004000050s s3:get_obj D3nDataCache: get_obj_iterate_cb(): WRITE TO CACHE: oid=16e7b827-16ac-471c-a407-ef1872bd0058.34134.1__shadow_testfile8M.2~PGlAYwIJKyDrpFDYY4WWQJ1c_E0eVWV.1_1, obj-ofs=4194304, read_ofs=0 len=4194304
2025-04-02T17:50:55.183+0800 7f853eedd640 10 D3nDataCache::put(): oid=16e7b827-16ac-471c-a407-ef1872bd0058.34134.1__multipart_testfile8M.2~PGlAYwIJKyDrpFDYY4WWQJ1c_E0eVWV.1, len=4194304
2025-04-02T17:50:55.183+0800 7f853eedd640 20 D3nDataCache: Before eviction _free_data_cache_size:10737418240, _outstanding_write_size:0, freed_size:0
2025-04-02T17:50:55.196+0800 7f85446e8640 10 D3nDataCache::put(): oid=16e7b827-16ac-471c-a407-ef1872bd0058.34134.1__shadow_testfile8M.2~PGlAYwIJKyDrpFDYY4WWQJ1c_E0eVWV.1_1, len=4194304
2025-04-02T17:50:55.196+0800 7f85446e8640 20 D3nDataCache: Before eviction _free_data_cache_size:10737418240, _outstanding_write_size:4194304, freed_size:0
2025-04-02T17:50:55.212+0800 7f8461522640  5 D3nDataCache: d3n_libaio_write_completion_cb(): oid=16e7b827-16ac-471c-a407-ef1872bd0058.34134.1__multipart_testfile8M.2~PGlAYwIJKyDrpFDYY4WWQJ1c_E0eVWV.1
2025-04-02T17:50:55.367+0800 7f8461522640  5 D3nDataCache: d3n_libaio_write_completion_cb(): oid=16e7b827-16ac-471c-a407-ef1872bd0058.34134.1__shadow_testfile8M.2~PGlAYwIJKyDrpFDYY4WWQJ1c_E0eVWV.1_1
[root@lab201 ~]# ll /mnt/nvme0/rgw_datacache/
total 8192
-rw-r--r-- 1 ceph ceph 4194304 Apr  2 17:50 16e7b827-16ac-471c-a407-ef1872bd0058.34134.1__multipart_testfile8M.2~PGlAYwIJKyDrpFDYY4WWQJ1c_E0eVWV.1
-rw-r--r-- 1 ceph ceph 4194304 Apr  2 17:50 16e7b827-16ac-471c-a407-ef1872bd0058.34134.1__shadow_testfile8M.2~PGlAYwIJKyDrpFDYY4WWQJ1c_E0eVWV.1_1

上面的可以看到能够缓存文件到目录

第二次读取

[root@lab201 ~]# cat  /var/log/ceph/ceph-client.rgw.lab201.log |grep -i d3n
2025-04-02T17:52:29.311+0800 7f850de7b640 20 req 10062238110711655751 0.004000050s s3:get_obj D3nDataCache::get_obj_iterate_cb(): oid=16e7b827-16ac-471c-a407-ef1872bd0058.34134.1__multipart_testfile8M.2~PGlAYwIJKyDrpFDYY4WWQJ1c_E0eVWV.1, is_head_obj=0, obj-ofs=0, read_ofs=0, len=4194304
2025-04-02T17:52:29.311+0800 7f850de7b640 20 req 10062238110711655751 0.004000050s s3:get_obj D3nDataCache: get_obj_iterate_cb(): READ FROM CACHE: oid=16e7b827-16ac-471c-a407-ef1872bd0058.34134.1__multipart_testfile8M.2~PGlAYwIJKyDrpFDYY4WWQJ1c_E0eVWV.1, obj-ofs=0, read_ofs=0, len=4194304
2025-04-02T17:52:29.311+0800 7f850de7b640 20 req 10062238110711655751 0.004000050s s3:get_obj D3nDataCache: file_aio_read_abstract(): oid=16e7b827-16ac-471c-a407-ef1872bd0058.34134.1__multipart_testfile8M.2~PGlAYwIJKyDrpFDYY4WWQJ1c_E0eVWV.1
2025-04-02T17:52:29.311+0800 7f850de7b640 20 req 10062238110711655751 0.004000050s s3:get_obj D3nDataCache: async_read(): location=/mnt/nvme0/rgw_datacache//16e7b827-16ac-471c-a407-ef1872bd0058.34134.1__multipart_testfile8M.2~PGlAYwIJKyDrpFDYY4WWQJ1c_E0eVWV.1
2025-04-02T17:52:29.311+0800 7f850de7b640 20 req 10062238110711655751 0.004000050s s3:get_obj D3nDataCache: init_async_read(): location=/mnt/nvme0/rgw_datacache//16e7b827-16ac-471c-a407-ef1872bd0058.34134.1__multipart_testfile8M.2~PGlAYwIJKyDrpFDYY4WWQJ1c_E0eVWV.1
2025-04-02T17:52:29.312+0800 7f850de7b640 20 req 10062238110711655751 0.005000062s s3:get_obj D3nDataCache: async_read(): ::aio_read(), ret=0
2025-04-02T17:52:29.312+0800 7f850de7b640 20 req 10062238110711655751 0.005000062s s3:get_obj D3nDataCache::get_obj_iterate_cb(): oid=16e7b827-16ac-471c-a407-ef1872bd0058.34134.1__shadow_testfile8M.2~PGlAYwIJKyDrpFDYY4WWQJ1c_E0eVWV.1_1, is_head_obj=0, obj-ofs=4194304, read_ofs=0, len=4194304
2025-04-02T17:52:29.312+0800 7f850de7b640 20 req 10062238110711655751 0.005000062s s3:get_obj D3nDataCache: get_obj_iterate_cb(): READ FROM CACHE: oid=16e7b827-16ac-471c-a407-ef1872bd0058.34134.1__shadow_testfile8M.2~PGlAYwIJKyDrpFDYY4WWQJ1c_E0eVWV.1_1, obj-ofs=4194304, read_ofs=0, len=4194304
2025-04-02T17:52:29.312+0800 7f850de7b640 20 req 10062238110711655751 0.005000062s s3:get_obj D3nDataCache: file_aio_read_abstract(): oid=16e7b827-16ac-471c-a407-ef1872bd0058.34134.1__shadow_testfile8M.2~PGlAYwIJKyDrpFDYY4WWQJ1c_E0eVWV.1_1
2025-04-02T17:52:29.312+0800 7f850de7b640 20 req 10062238110711655751 0.005000062s s3:get_obj D3nDataCache: async_read(): location=/mnt/nvme0/rgw_datacache//16e7b827-16ac-471c-a407-ef1872bd0058.34134.1__shadow_testfile8M.2~PGlAYwIJKyDrpFDYY4WWQJ1c_E0eVWV.1_1

可以看到从本地磁盘读取的

总结

d3n功能非常适合作为读取的场景的使用,直接从本地盘的缓存读取,能够加速并且能够降低内部的网络消耗

附加

后面还有个D4N,这个功能多了一个write-back,从数据安全性角度来看,读取的不会破坏存储的当前的稳定性,带写入的,这个就需要多考虑下了,后面稳定了再看看,写缓存涉及的东西就多了,缓存什么时候下刷,什么时候清理,满了怎么处理客户端io,维持一个什么缓存数目,等等,需要调测的东西比较多


文章转载自:

http://wbOvFyZi.Lbywt.cn
http://SVRXLZNh.Lbywt.cn
http://RXZltCIB.Lbywt.cn
http://hP3XnV3X.Lbywt.cn
http://gIhV9gRQ.Lbywt.cn
http://YuhDrAZ6.Lbywt.cn
http://P8lZRB4B.Lbywt.cn
http://sR5ZxLrg.Lbywt.cn
http://YEbDdiDX.Lbywt.cn
http://rNUI1cLD.Lbywt.cn
http://xu8NuSqJ.Lbywt.cn
http://6iQ64ri6.Lbywt.cn
http://nWQHCbhY.Lbywt.cn
http://a7ulr6yG.Lbywt.cn
http://UqotWhpe.Lbywt.cn
http://ZI64nmKr.Lbywt.cn
http://4F9LPOR2.Lbywt.cn
http://8W7XWWMs.Lbywt.cn
http://8LyqP2tL.Lbywt.cn
http://07CuNf1i.Lbywt.cn
http://0s1URnsG.Lbywt.cn
http://xuVplonc.Lbywt.cn
http://x7hTczKM.Lbywt.cn
http://leeRtlCM.Lbywt.cn
http://msewPWs7.Lbywt.cn
http://crXr71CM.Lbywt.cn
http://C7zREBzP.Lbywt.cn
http://5OiKWMNu.Lbywt.cn
http://x4liXLqb.Lbywt.cn
http://pWIklLI0.Lbywt.cn
http://www.dtcms.com/wzjs/646476.html

相关文章:

  • 手表回收网网站如何根据网址攻击网站
  • 安阳市住房和城乡建设厅网站网站建设购销合同
  • 网站设计制作的特点有哪些商业空间设计风格
  • 耐思尼克网站wordpress 整站
  • 怀化电视台网站关键词推广技巧
  • 一锅汤资源分享网站建设大全discuz门户论坛模板
  • 做网站资讯专业网站开发工具
  • 高端网站建设968遵义营商环境建设局网站
  • 公司网站开发费分录是wordpress 页头
  • 运城网站制作公司安阳后营吧
  • 公司网站建设 目录网站服务器用什么好处
  • 天津网站制作企业球队世界排名榜
  • 网站关键词优化外包被禁止访问网站怎么办
  • 梅林网站建设wordpress插件 标签页
  • 400电话网络推广商城网站建设电影网站选服务器怎么选
  • seo 网站标题长度简易蜘蛛池网站开发
  • 模板 网站 教程为什么外包会把人干废
  • 阿里云做视频网站可以吗广东广州专业网络营销公司
  • 西安企业做网站多少钱软件推广简报
  • 西安网站建设技术网页制作和网页制作
  • 杭州市建设监理协会网站佛山网站建设多少钱
  • 手表拍卖网站社交网站推广怎么做
  • 手机网站怎么做微信登陆6个人备案网站可以做产品推广
  • 耒阳市做网站的ps做网站页面美工
  • wordpress分站wordpress无编辑器
  • 甜蜜高端定制网站怎样建个小公司的网站
  • 百度网站建设电话做ps图标什么网站最好
  • 淄博想建网站做红酒闪购的网站有哪些
  • 网页建站点企业网站做速优化排名万象
  • 如何在百度做网站推广html5网站开发价格