近日随笔
最近在swift上做一些压力测试,使用一些现成的benchmark完成,中间遇到一些小问题。
包含诸多嵌套小文件目录删除
在用benchmark对swift进行测试过程中,每次创建10000个小文件,测试完成后利用DELETE原语删除。随着测试进行至后来,频繁出错且性能下降明显,而我并未修改任何参数。并利用du命令统计swift数据盘使用情况,500G的盘仅使用不到5G。但同时发现虽然已删除swift中所有测试文件,但相应目录下/srv/*/node
仍有数以万计的小文件。这些小文件也许是swift中版本控制功能所进行的自动备份,但数量实在庞大。
后决定清空这些文件后再对swift进行相关性能测试。但rm -rf *
命令输入后两小时仍未完成删除。文件数量实在庞大!后采用rsync
命令,做如下操作:
#建立一个空目录
mkdir -p /tmp/test
#使用rsync同步删除
rsync -a -H -v --delete-before --progress --stats /tmp/test/ /srv/1/node/sdb1/
选项说明:
–delete-before
接收者在传输之前进行删除操作
–-progress
在传输时显示传输过程
-a
归档模式,表示以递归方式传输文件,并保持所有文件属性
-H
保持硬连接的文件
-v
详细输出模式
–-stats
给出某些文件的传输状态
需要注意,--option
需放置于-option
之后。
在我的操作中,rsync
虽未有他人宣称的比rm
快一个数量级,但确实比rm
命令快不少。
.prof后缀文件打开
某benchmark生成了后缀为.prof的内容,但万般尝试均无法打开,尤其是windows平台下宣称可打开200+后缀的文件的某程序,不仅无法打开还深深伤害了我的电脑。
正确的打开方式,可在linux平台下pip install cprofilev
,而后cprofilev /path/to/cprofile/output
,最后再浏览器中输入http://localhost:4000
即可查看相应.prof内容。