checking for zlib.h... no
configure: error: zlib.h not found - required for brass, chert and flint (you may need to install the zlib1g-dev or zlib-devel package)
make: *** No targets specified and no makefile found. Stop.
make: Nothing to be done for 'install'.
/home/dh/Download/tailbench-v0.9/xapian
g++ -Wall -W -O3 -g -std=c++0x `./xapian-core-1.2.13/install/bin/xapian-config --cxxflags` -I../harness -c -o main.o main.cpp
/bin/sh: 1: ./xapian-core-1.2.13/install/bin/xapian-config: not found
In file included from main.cpp:6:
server.h:6:10: fatal error: xapian.h: No such file or directory
6 | #include <xapian.h>
| ^~~~~~~~~~
compilation terminated.
make: *** [Makefile:49: main.o] Error 1
解决办法:
ubuntu安装zlib和zlib-dev
在ubuntu软件源里zlib和zlib-dev叫做zlib1g zlib1g.dev,安装命令如下所示:
【sudo apt-get install zlib1g】
【sudo apt-get install zlib1g.dev】
configure: error: Neither uuid/uuid.h nor uuid.h found - required for brass, chert and flint (you may need to install the uuid-dev, libuuid-devel or e2fsprogs-devel package)
make: *** No targets specified and no makefile found. Stop.
make: Nothing to be done for 'install'.
/home/dh/Download/tailbench-v0.9/xapian
g++ -Wall -W -O3 -g -std=c++0x `./xapian-core-1.2.13/install/bin/xapian-config --cxxflags` -I../harness -c -o main.o main.cpp
/bin/sh: 1: ./xapian-core-1.2.13/install/bin/xapian-config: not found
In file included from main.cpp:6:
server.h:6:10: fatal error: xapian.h: No such file or directory
6 | #include <xapian.h>
| ^~~~~~~~~~
compilation terminated.
make: *** [Makefile:49: main.o] Error 1
参考链接:https://github.com/chyyuu/tailbench
- masstree
sudo apt install libgoogle-perftools-dev - silo
silo/Makefile: delete -Werror
参考链接:https://github.com/deltavoid/Tailbench/blob/master/doc/tailbench_sample.sh
#!/bin/bash
#这是根据silo原始的run_networked.sh改写的脚本,说明在最后面
NUM_WAREHOUSES=1
NUM_THREADS=1
QPS=2000 #每秒请求数
MAXREQS=40000 #所有请求数,运行时间理论上为(MAXREQS + WARMUPREQS) / QPS
WARMUPREQS=20000
TBENCH_MAXREQS=${MAXREQS} TBENCH_WARMUPREQS=${WARMUPREQS} \
perf stat -e cycles,instructions,cache-references,cache-misses,LLC-loads,LLC-load-misses,LLC-stores,LLC-store-misses \
taskset 0x00000001 ./out-perf.masstree/benchmarks/dbtest_server_networked --verbose --bench \
tpcc --num-threads ${NUM_THREADS} --scale-factor ${NUM_WAREHOUSES} \
--retry-aborted-transactions --ops-per-worker 10000000 &
echo $! > server.pid
sleep 5 # Allow server to come up
taskset 0x00000002 ./interfere/interfere &
echo $! > interfere1.pid
taskset 0x00000004 ./interfere/interfere2 &
echo $! > interfere2.pid
TBENCH_QPS=${QPS} TBENCH_MINSLEEPNS=10000 \
taskset 0x00000008 ./out-perf.masstree/benchmarks/dbtest_client_networked &
echo $! > client.pid
wait $(cat client.pid)
sleep 2
# Clean up
./kill_networked.sh
./kill_interfere.sh
python ../utilities/parselats.py lats.bin
#第10行启动服务器进程,与原始语句相比,这里添加了perf测量缓存缺失率以及使用taskset固定运行CPU
#第20行和第23行启动干扰程序,同时使用固定CPU,这里的interfere和interfere2是人工的干扰程序
#第28行也固定了客户端进程的CPU
#第40行添加了解析语句,这样可以直接得到结果
masstree测试报告 2018.03.22.txt:https://github.com/deltavoid/Tailbench/blob/master/doc/masstree/_test/masstree%E6%B5%8B%E8%AF%95%E6%8A%A5%E5%91%8A%202018.03.22.txt
silo:https://github.com/jasonzzzzzzz/TailBench/tree/master/silo
book:https://github.com/tgdwcj/Books
安装
silo
build silo
编辑silo/Makefile,删除Werror选项,否则无法编译通过。
以上事项做好后,运行如下命令:
./build.sh silo
运行silo
cd silo
sudo ./run.sh
分析结果----------------未能执行
python utilities/parselats.sh silo/lats.bin
1.masstree
root@dh:/home/dh/Download/tailbench-1/tailbench-v0.9# ./build.sh masstree
root@dh:/home/dh/Download/tailbench-1/tailbench-v0.9# cd masstree
root@dh:/home/dh/Download/tailbench-1/tailbench-v0.9/masstree# ./run.sh
TBENCH_MAXREQS = 3000
TBENCH_WARMUPREQS = 14000
TBENCH_MINSLEEPNS = 10000
TBENCH_RANDSEED = 1/1 mycsba/masstree
0: now getting
2. moses
./build.sh moses 可以
3.sphinx
root@dh:/home/dh/Download/tailbench-1/tailbench-v0.9# ./build.sh sphinx
root@dh:/home/dh/Download/tailbench-1/tailbench-v0.9/sphinx# ./run.sh
TBENCH_MAXREQS = 10
TBENCH_WARMUPREQS = 10
TBENCH_MINSLEEPNS = 10000
TBENCH_RANDSEED = root@dh:/home/dh/Download/tailbench-1/tailbench-v0.9/sphinx#