Ceph编译加速的小技巧
总结了几个小技巧,用于在ceph编译过程中,能够更快一点
修改clone的地址
git clone https://github.com/ceph/ceph.git
可以修改成
git clone git://github.com/ceph/ceph.git
某些时候可能可以加快一些


根据需要下载分支
假如现在想看10.2.5版本的代码
常规做法
先下载整个库
git clone git://github.com/ceph/ceph.git all
总共的下载对象数目为46万
Counting objects: 460384
这个是包含所有的分支和分支内的文件的所有版本的
我们切换到分支
[root@lab8106 mytest]#cd all
[root@lab8106 all]# git branch
* master
[root@lab8106 all]# git checkout -b all10.2.5 v10.2.5
Switched to a new branch 'all10.2.5'
[root@lab8106 all]# git branch
* all10.2.5
master
[root@lab8106 all]# ls -R|wc -l
4392
可以看到有这么多的文件
现在只复制一个分支的
[root@lab8106 mytest]# git clone -b v10.2.5 --single-branch git://github.com/ceph/ceph.git single
总共下载的对象数目为34万
Counting objects: 344026
[root@lab8106 mytest]# cd single/
[root@lab8106 single]# git checkout -b single10.2.5
Switched to a new branch 'single10.2.5'
[root@lab8106 single]# git branch
* single10.2.5
[root@lab8106 single]# ls -R |wc -l
4392
现在只复制一个分支的最后一个版本的代码
[root@lab8106 mytest]# git clone -b v10.2.5 --single-branch --depth 1 git://github.com/ceph/ceph.git singledep1
总共下载的对象数目为3682
Counting objects: 3682
[root@lab8106 mytest]# cd singledep1/
[root@lab8106 singledep1]# git checkout -b singledep110.2.5
Switched to a new branch 'singledep110.2.5'
[root@lab8106 singledep1]# git branch
* singledep110.2.5
[root@lab8106 singledep1]# ls -R |wc -l
4392
从上面的可以看到三个版本的代码是一致的,那么区别在哪里
- clone:包含所有分支和分支的所有文件版本
- clone single-branch:包含指定分支和指定分支的所有文件的版本
- clone single-branch depth 1 :包含指定分支和指定分支的最后一个版本的文件
准备编译前的install-deps慢
提前准备好epel
yum install http://mirrors.aliyun.com/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
rm -rf /etc/yum.repos.d/epel*
装完了删除,这个是为了绕过包验证
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
删除慢速的 aliyuncs
sed -i '/aliyuncs/d' /etc/yum.repos.d/epel.repo
install-deps.sh第72行的需要修改
yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/$MAJOR_VERSION/x86_64/
执行下面的命令
sed -i 's/https:\/\/dl.fedoraproject.org\/pub\//http:\/\/mirrors.aliyun.com\//g' install-deps.sh
然后执行install-deps.sh,这样会快很多的
总结
目前就这么多,后续有更多的影响速度的地方会增加上去
Ceph编译加速的小技巧的更多相关文章
- 编译Release版本小技巧
原文:编译Release版本小技巧 由于项目中要部署的App有很多,每次发布一个版本后都有一堆垃圾文件,部署在众多的终端机上不注意的话十分容易搞错.记得以前在VS中是可以设置下不生成vhost和pdb ...
- 【UE4 调试】C++ 几种编译方法和小技巧
编译方法 Visual Studio 2019 编译 默认编译 UnrealVS 快速编译 Editor 编译 一般 vs 编译完后,Editor会跟着热编译(有声音) 如果发现编译后代码没更新到Ed ...
- 新技能get√10个PS加速小技巧让你的PS不再卡
如果你在处理较大尺寸的图片.使用像HDR.图像合成或者3D和视频等类似的功能,优化Photoshop的性能是非常关键的.这篇文章中,我会为大家介绍几种提高Photoshop性能的建议,使其在你的电脑上 ...
- 【Linux】make编译的小技巧
------------------------------------------------------------------------------------------------- | ...
- QT小技巧—更好管理项目(增加预编译头文件,并且指定moc文件的生成位置)good
预编译加速编译 QT也可以像VS那样使用预编译头文件来加速编译器的编译速度.首先在.pro文件中加入: CONFIG += precompiled_header 然后定义需要预编译的头文件: PREC ...
- iOS工作小技巧及填坑记录
以下是本人在iOS开发工作中使用的一些小技巧,记录一下. 1.使用XXX.pch文件便捷开发+加速Build 在IOS开发的项目中有一个XX_Prefix.pch XX_Prefix.pch:扩展名. ...
- Android开发的那些坑和小技巧
1.android:clipToPadding 意思是控件的绘制区域是否在padding里面.默认为true.如果你设置了此属性值为false,就能实现一个在布局上事半功陪的效果.先看一个效果图. 上 ...
- Android小技巧
一.android:clipChildren属性 效果图 看到这个图时你可以先想想如果是你,你怎么实现这个效果.马上想到用RelativeLayout?NO,NO,NO,,, 实现代码 <?xm ...
- iOS:小技巧(不断更新)
记录下一些不常用技巧,以防忘记,复制用. 1.获取当前的View在Window的frame: UIWindow * window=[[[UIApplication sharedApplication] ...
随机推荐
- centos8平台安装zookeeper3.6集群
一,规划三台zk服务器构成集群 ip:172.18.1.1 机器名:zk1 对应myid: 1 ip:172.18.1.2 机器名:zk2 对应myid: 2 ip:172.18.1.3 机器名:zk ...
- lumen中间件 Middleware
app/http 下新建 TestMiddleware.php <?php namespace App\Http\Middleware; use Closure; class TestMiddl ...
- Navicat Premium_11.2.7简体中文版 破解版本 windows版本 失效
亲测可用 自己一直在用的 https://pan.baidu.com/s/1VVKKQoIKVB0BgNXBK4YTrQ
- SVN如何回滚到指定版本
以下内容网上收集整理. 方法一. 利用Export,这样你可以不丢失你新建的文件.打开你想要回滚的文件夹(受SVN版本控制).右键Tortoise SVN,然后在列表中选择 show log, 在看到 ...
- vivo 基于原生 RabbitMQ 的高可用架构实践
一.背景说明 vivo 在 2016 年引入 RabbitMQ,基于开源 RabbitMQ 进行扩展,向业务提供消息中间件服务. 2016~2018年,所有业务均使用一个集群,随着业务规模的增长,集群 ...
- RateLimiter的 SmoothBursty(非warmup预热)及SmoothWarmingUp(预热,冷启动)
SmoothBursty 主要思想 记录 1秒内的微秒数/permitsPerSencond = 时间间隔interval,每一个interval可获得一个令牌 根据允许使用多少秒内的令牌参数,计算出 ...
- Redis---08Redis集群(一)
一.什么是Redis集群 Redis 集群实现了对Redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点存储总数据的1/N. Redis 集群通过分区(parti ...
- 技术选型:为什么批处理我们却选择了Flink
最近接手了一个改造多平台日志服务的需求,经过梳理,我认为之前服务在设计上存在缺陷.经过一段时间的技术方案调研,最终我们决定选择使用 Flink 重构该服务. 目前重构后的服务已成功经受了国庆节流量洪峰 ...
- plc模拟量采集模块的作用
在工业控制中,某些输入量(如压力.温度.流量.转速等)是连续变化的模拟量,某些执行机构(如伺服电动机.调节阀.记录仪等)要求PLC输出模拟信号,而PLC的CPU只能处理数字量.模拟量首先被传感器和变送 ...
- CSS中的position属性笔记
一般有5个属性,分别是:static,absolute,relative,fixed,inherit static 自然定位:这个是默认值,没有定位,再设置top,rignt,bottom,left会 ...