Mobibench使用

mobibench源码:https://github.com/ESOS-Lab/Mobibench

安装

交叉编译到移动端
安装一个没有版本号的 gcc-aarch64-linux-gnu
参考这里

sudo apt-get install gcc-aarch64-linux-gnu

修改Makefile

#CROSS=arm-none-linux-gnueabi-
CROSS=aarch64-linux-gnu-

EXENAME = mobibench

SRCS = mobibench.c \
          sqlite3.c

INSTALL = install

prefix = /usr/local
bindir = $(prefix)/bin

CFLAGS = -lpthread -ldl

#CFLAGS += -DDEBUG_SCRIPT

#for sqltie3
CFLAGS += -DNDEBUG=1 \
     -DHAVE_USLEEP=1 \
     -DSQLITE_HAVE_ISNAN \
     -DSQLITE_THREADSAFE=2 \
     -DSQLITE_TEMP_STORE=3 \
     -DSQLITE_POWERSAFE_OVERWRITE=1 \
     -DSQLITE_DEFAULT_FILE_FORMAT=4 \
     -DSQLITE_DEFAULT_AUTOVACUUM=1 \
     -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 \
     -DSQLITE_ENABLE_FTS3 \
     -DSQLITE_ENABLE_FTS3_BACKWARDS \
     -DSQLITE_ENABLE_FTS4 \
     -DSQLITE_OMIT_BUILTIN_TEST \
     -DSQLITE_OMIT_COMPILEOPTION_DIAGS \
     -DSQLITE_OMIT_LOAD_EXTENSION \
     -DSQLITE_DEFAULT_FILE_PERMISSIONS=0666 \
     -DUSE_PREAD64 \
     --static

all :
        $(CROSS)gcc -o $(EXENAME) $(SRCS) $(CFLAGS)

clean :
        @rm -rf mobibench

install : $(EXENAME)
        @$(INSTALL) -m 755 -d $(DESTDIR)$(bindir)
        @$(INSTALL) $(EXENAME) $(DESTDIR)$(bindir)

shell版本参数解析

mobibench [-p pathname] [-f file_size_Kb] [-r record_size_Kb] [-a access_mode] [-h]
                [-y sync_mode] [-t thread_num] [-d db_mode] [-n db_transcations]
                [-j SQLite_journalmode] [-s SQLite_syncmode] [-g replay_script] [-q]
-p 设置路径名(默认=./mobibench)
-f 以KB为单位设置文件大小(默认值=1024)
-r 以KB为单位设置记录大小(默认值=4)
-a 设置访问模式(0=写入,1=随机写入,2=读取,3=随机读取)(默认值=0)
-y 设置同步模式 (0=Normal, 1=O_SYNC, 2=fsync, 3=O_DIRECT, 4=Sync+direct, 5=mmap, 6=mmap+MS_ASYNC, 7=mmap+MS_SYNC 8=fdatasync) (默认= 0)
-t 设置测试线程数(默认=1)
-d 启用数据库测试模式(0=插入,1=更新,2=删除)
-n 设置数据库事务数(默认=10)
-j 设置 SQLite 日志模式(0=DELETE,1=TRUNCATE,2=PERSIST,3=WAL,4=MEMORY,5=OFF)(默认=1)
-s 设置 SQLite 同步模式 (0=OFF, 1=NORMAL, 2=FULL) (默认=2)
-g 设置回放脚本(MobiGen 的输出)
-q 不显示进度(%)消息

测试SQLite

./mobibench -p ./test_sql/ -d 0 -n 2000 

Android 常见应用的包名

应用名称:手机淘宝 包名: com.taobao.taobao
应用名称:支付宝 包名: com.eg.android.AlipayGphone
应用名称:菜鸟裹裹 包名: com.cainiao.wireless
应用名称:钉钉 包名: com.alibaba.android.rimet

应用名称:QQ 包名: com.tencent.mobileqq
应用名称:微信 包名: com.tencent.mm
应用名称:王者荣耀 包名: com.tencent.tmgp.sgame
应用名称:全民K歌 包名: com.tencent.karaoke


应用名称:BOSS直聘 包名: com.hpbr.bosszhipin
应用名称:爱奇艺 包名: com.qiyi.video
应用名称:美团 包名: com.sankuai.meituan
应用名称:美团外卖 包名: com.sankuai.meituan.takeoutnew
应用名称:铁路12306 包名: com.MobileTicket
应用名称:安居客 包名: com.anjuke.android.app
应用名称:腾讯课堂 包名: com.tencent.edu
应用名称:拼多多 包名: com.xunmeng.pinduoduo
应用名称:苏宁易购 包名: com.suning.mobile.ebuy
应用名称:京东 包名: com.jingdong.app.mall
应用名称:携程旅行 包名: ctrip.android.view
应用名称:唯品会 包名: com.achievo.vipshop

应用名称:网易新闻 包名: com.netease.newsreader.activity
应用名称:今日头条极速版 包名: com.ss.android.article.lite
应用名称:今日头条 包名: com.ss.android.article.news
应用名称:UC浏览器 包名: com.UCMobile
应用名称:抖音短视频 包名: com.ss.android.ugc.aweme
应用名称:微博 包名: com.sina.weibo


中国移动 包名: com.greenpoint.android.mc10086.activity
应用名称:手机营业厅(联通) 包名: com.sinovatech.unicom.ui
应用名称:百度贴吧 包名: com.baidu.tieba
应用名称:百度输入法华为版 包名: com.baidu.input_huawei
应用名称:360手机助手 包名: com.qihoo.appstore

抓设备APP trace流程

adb root
adb shell
ps -A | grep ugc#以抖音为例

在这里插入图片描述
找到抖音的PID为2941
开抓:

strace -f -t -tt -e trace=file,write,pwrite64,read,pread64,close,fsync,fdatasync,access,stat,fstat,unlink -p 2941 -o /mnt/ugc.txt

抓完后拉到本地:

exit
adb pull /mnt/ugc.txt .

解析

待续

重放

./mobibench -p /data/test_qwj/qwj1 -g ./trace_best/ugc.txt_mg.out

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值