Groups
Sign in
Groups
软件配置管理(CN)
Conversations
About
Send feedback
Help
Subversion性能优化- SSD硬盘/分布式Subversion
72 views
Skip to first unread message
laofo -
unread,
Feb 16, 2014, 10:19:58 PM
2/16/14
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
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