Subversion性能优化- SSD硬盘/分布式Subversion

72 views
Skip to first unread message

laofo -

unread,
Feb 16, 2014, 10:19:58 PM2/16/14
to Config...@googlegroups.com
北京-wshzhn    :   
         有人svn服务器用SSD硬盘的吗?想问一下,跟普通硬盘比性能有多大提升?
北京-yamazakei    :   
         SSD。。。。这成本太高了
北京-地狱之光    :   
         做过测试,但没有正式应用与生产环境
         读写速度很快,尤其是读
北京-yamazakei    :   
         而且svn服务器小文件太多了,访问频繁,ssd坏很快
         速度肯定要快很多
北京-恐龙    :   
         ssd 不是怕摔么
北京-yamazakei    :   
         哪个也怕摔吧
北京-地狱之光    :   
         之所以生产没有用就是因为成本太大,后来折中用的磁盘阵列做的RAID5
         啥硬盘不怕摔啊
北京-wshzhn    :  
         嗯嗯,太好了,那就有信心准备换SSD了,担心换了后没有提升,会被骂的。。。
北京-yamazakei    :   
         这报价提上去,不给头吓死。。。
北京-地狱之光    :
         有钱
         当时我们整个研发也就两块SSD硬盘
北京-wshzhn    :  
         呃。。领导同意了
         我只是负责任的确认一下,这个决定对不对得起各部门支持我的领导
         因为我们访问的人太多,好几百人,高峰期特别慢,总有开发抱怨
北京-地狱之光    :   
         提升SVN签入签出效率,硬件(硬盘读写速度,网速)是一方面,还可以在结构上优化
北京-yamazakei    :  
         这么大的访问量,SSD很容易坏
济南-fixed    :   
         好几百人?好大的团队呀
北京-wshzhn    :   
         前几天还突然有个仓库慢的离奇,svn cp就要6分钟,以前只要几十秒。
         现在虽然问题解决了,但是还是不确定原因
         我们是整个公司使用同一个SVN服务器
         所以访问量很大
北京-地狱之光    :  
         并发访问达到150以上的话不建议用SVN了,SVN只适合中小型开发团队
北京-wshzhn    :   
         SSD硬盘做RAID,是不是能安全些?
北京-yamazakei    :   
         有钱就行          
北京-地狱之光    :  
         一听就是土豪公司
济南-fixed    :  
         我们单位都是拿台式机当服务器用  
         后来机器崩过两次  才花钱买的服务器
北京-yamazakei    :   
         这么多人访问,擦写次数抗不抗得住,不好说
         和raid无关
北京-地狱之光    : 
         raid1,5可以提高可靠性的,起码一块硬盘坏了不会影响
北京-wshzhn    :  
         对了,还有个问题,有人用nginx配置svn的吗?
         OPS说nginx比Apache轻量级一些,对服务器压力会小一些。
北京-地狱之光    :   
         但这成本就增加了
         看nginx是否支持svn的模块才行,可以百度下
北京-yamazakei    :   
         ssd很难适配raid的
         别把它当服务器硬盘
         用了raid5 ,挂的更快
北京-wshzhn    :   
         之前查过有nginx配置的文档,但是不知道性能和稳定性怎么样
北京-yamazakei    :  
         nginx性能配置好了很棒
北京-地狱之光    :   
         nginx这个服务器性能和稳定性是没说的,确实很多方面比APACHE强些
         但要用它来搭建SVN服务器,需要看支不支持SVN的那个mod_authz_svn.so和mod_dav_svn.so模块
北京-yamazakei    :
         支持,但是因为ssd的擦写特性,容易造成坏块就是了
         简单的提升svn性能方法,就是分成2个机器,一个读,一个写,
         前面有个nginx跳转,根据请求,把读写操作分离开,2个主从服务器,用svnsync等方式同步
北京-wshzhn    :
         两台机器之前数据同步怎么做?svnsync还是rsync?
北京-yamazakei    :  
         post-commit里面用
北京-wshzhn    :  
         正好请教一下,我们现在用这个做了两个镜像服务器,发现镜像服务器上的仓库比正式服务器上的小,这是为什么?
北京-yamazakei    : 
         版本不一致吧
北京-srt :
         用rsync
北京-yamazakei    :  
         源服务器svn的仓库版本与镜像的svn 版本号不一致
         rsync不太适合svn做同步
北京-wshzhn    :   
         确实svn版本号不一样
北京-wshzhn    :   
         现在有两台镜像机器,有一台上边svn版本跟服务器上的相同,另一台的不同,
         发现相同的上边仓库大小也不一样
北京-yamazakei    :   
         这我也不清楚了,要是想找db里面有啥区别,用ant脚本去找到差异的版本文件夹,再进去分析吧
北京-wshzhn    :  
         嗯,好。
         你使用的nginx配置的读和写使用不同机器吗?
北京-yamazakei    :   1
         要是一个机器,那就不用nginx了
北京-wshzhn    : 
         你刚才说的那种方案,我有个问题,svnsync的时候,我这边经常会报同步失败,查了下好像是如果在同步的时候有提交就会报错,还会给镜像服务器上仓库的0节点加锁,如果这样的话,配置为一个写和一个读是不是会有风险?
北京-yamazakei    :   
         这可能就是你仓库大小不一样的原因
         有些数据没同步过去
         如果这种情况,经常出现,就要考虑是不是换其他的版本管理工具了
北京-wshzhn    :  
         我的意思是,在执行svnsync这个操作的时候,如果同时有新提交,镜像服务器上的仓库就会被加锁,接着就没法再同步了,这样的话,可能没有办法保证主和镜像完全一致。
北京-yamazakei    :  
         几百人用,也许每分钟都有人再提交
         本身就慢
         很可能没同步过去就有了新的提交
北京-wshzhn    :   
         嗯,是的,现在就是这个情况
         你们的svn是多少人访问?
北京-恐龙    :   
         一个项目百人+,实时同步不用为好
北京-yamazakei    :  
         以前是300左右
北京-wshzhn    :  
         那有其他好的实时备份方案吗?
北京-yamazakei    :
         那就要用rsync了
         但是这个备份机不能平常使用
         设置定时任务来rsync
         只有在主机挂了,才启用应急
北京-wshzhn    :   
         那能提供只读吗?
北京-yamazakei    :  
         NO,因为rsync实际是不同步的
北京-wshzhn    :  
         可以用servsync进行实时同步
北京-yamazakei    :   
         要是有那种会检测到svn主机库变化了就同步的,那倒是可以设为只读库
北京-wshzhn    :    
         因为现在主服务器访问就很慢了,所以如果有人有其他系统需要大量访问svn,而且只需要读的话,就想让他访问镜像
北京-yamazakei    :    
         那会有2个svn 访问地址了
北京-wshzhn    :    
         嗯,是的
北京-yamazakei    :    
         可以在权限上控制,有些人只读的就别分主服务器权限了
         或者问问专业运维的人,有没有好的服务器架构可以采用
北京-wshzhn    :   
         嗯嗯,好的。
北京-yamazakei    :   
         或者有个本办法,就是在svnsync的时候加锁,结束的时候释放锁,防止别人提交
         笨办法,估计很影响效率
南京_伟    :   
         svnsync  可以热同步的.
北京-wshzhn    :   
         嗯,是的,估计开发不会同意让加锁。
北京-yamazakei    : 
         请往上翻聊天记录         
         加锁了,几百人估计遇到不能提交的情况会很普遍
         先换服务器,提高性能看看,如果同步时间很短,可以考虑用这个方法
         否则,只能另寻他法了
北京-wshzhn    :   
         嗯,好的,下周一申请SSD
北京-yamazakei    
         http://www.wandisco.com/subversion/clustering
         如果有钱,去找这个,专业做svn性能,大并发的
北京-wshzhn    :  
         这个找不起,哈哈~我还是自己折腾吧
南京_伟    :   
         你折腾什么呀/?    
北京-wshzhn    :   
         对了,你做svn服务器版本的升级吗?现在svn服务器端还是1.6版本,
         客户端如果更新到1.8的话使用会有问题,而且也考虑版本高会不会svn本身的性能就会有些提高。
         但是版本升级太大不知道升级会不会有问题?
北京-yamazakei    :   
         1.6.11用了很多年。。。如果没啥特别原因,不打算升级了
         客户端也用的1.7.10
北京-wshzhn    :   
         我公司现在也是1.6.11
北京-yamazakei    :  
         至于新版本有没有问题可以问问@天津-格格 他前阵子装过1.8.x
   
 http://bbs.scmroad.com/thread-26951-1-1.html
Reply all
Reply to author
Forward
0 new messages