近日随笔

最近在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内容。

参考

【1】CSDN博客
【2】Profiling python with cProfile

原文地址:https://www.cnblogs.com/qiyukun/p/5032326.html