分布式编译和测试

分布式工具:distcc

简介

distcc是类unix系统下一款分布式的编译工具。所谓分布式编译,就是在由多台主机并行开发的大型项目中,为了提高编译效率,采取的分布式交叉编译的方式。

前期准备

  • 在每一台参与编译的服务器上配置distcc服务,以及将其加入到一个分布式编译的集群中
  • 当一台机子上需要其他机子交叉编译时,则这台机子需要配置其他机子的信息,将其他机子的ip加到这个环境变量中DISTCC_POTENTIAL_HOSTS
distcc的安装
  1. 安装一些必须的软件
    sudo apt-get install gcc make python3 python3-dev libiberty-dev
  2. 编译和安装
    在没一台机器上下载源码
    git clone [email protected]:distcc/distcc/git.
    然后安装
cd distcc
./autogen.sh
./configure
make
make check
make install
make installcheck
update-distcc-symlinks
  1. 运行distcc服务
    distccd --user nobody --job 6 --daemon --allow 参与编译的所有主机ip用空格隔开
  2. 在每一台机器上添加我们的目标工程
make -j40 CC="distcc gcc"
make -j40 CXX="distcc g++"
对于cmake
CC="distcc cc" CXX="distcc g++" cmake . #注意有一个“.”

wrk

wrk是一种http的负载测试工具,下载链接:https://github.com/wg/wrk
使用方法见:wrk -t12 -c400 -d30s http://127.0.0.1:8080/index.html

介绍几个指标

  • 页面浏览量(PV):打开和刷新都会计数一次
  • 独立访问者(UV):在一定时间内。访问网站的不同访客的数量,且每一个访客只被统计一次,一般通过cookies访问
  • 吞吐量(RPS):服务器并发处理能力的量化描述,单位为req/s,指的是某个并发用户数下单位时间内处理的请求数

在互联网的其他场景下经常会使用其他两个指标来衡量吞吐量

  • QPS:每秒处理查询的数量
  • TPS:每一秒处理事务的数量
  • 并发数:系统同时处理的request/transaction数量,等于QPS×平均响应时间
  • 并发链接数:某个时刻服务器所接受请求数目,简单讲就是一个会话
  • 并发用户数:某个时刻服务器所链接的用户数,注意和并发链接数区分
  • 用户平均请求等待时间:计算公式:处理完所有请求数花费的时间/并发用户数
  • 服务器平均等待时间:计算公式:处理完所有请求数所花费的时间/总请求数

参数说明

-c,-connections:每线程开的连接数
-t,-threads:线程数
-s,script:LuaJIT script
-H,--header:HTTP header to add to request
--latency:print detailed latency statistics
--timeout:记录响应等待的超时

ab测试工具

Apache Bench是Apache服务器自带的一个web压力测试工具,简称ab。ab又是一个命令行工具,对发起负载的本机要求很低,根据命令可以创建很多并发访问线程,模拟多个访问者同时对某一个URL地址进行访问,因此可以用来测试目标服务器的负载能力

redis bench

你可能感兴趣的:(分布式编译和测试)