Your SlideShare is downloading. ×
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
去哪儿平台技术
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

去哪儿平台技术

2,167

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,167
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
66
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • 我们希望在不久将来,能为您服务。谢谢。
  • Transcript

    • 1. “去哪儿”
      David Wu
      2010年4月13日
      1
    • 2. 一、“去哪儿”介绍
      二、监控系统
      三、虚拟化在去哪儿的应用
      四、Java开发的一些tips
    • 3. 一、“去哪儿”介绍
    • 4. “去哪儿”简介
      中国领先的旅游媒体
      2005年5月上线
      最大的旅游搜索引擎
      机票,酒店,知道,博客,打折,签证,度假,景点
      开始提供手机服务
    • 5. 增长趋势
    • 6. 数字
      35M月访问用户
      每天60M动态请求,峰值1700+/sec
      每天消息系统承载30M消息,峰值1000/sec
      每天18M次数据获取、网页解析
      30G memcacheddata, 264M次访问,峰值7000/sec
      50%的数据能够在3s内得到服务,80%的数据能在8s内提供服务
    • 7. 数字
      过去两年我们搜索量增长了28倍
      技术团队从10个人增长到60个人
      产品线从2个增长到6个
      各种系统从5个增长到近30个
    • 8. 技术部门的使命
      实现
      实现产品
      给产品的实现更多的可能性
      用户体验
      可用性
      速度
      成本
      Capex(固定资产投资)/opex(运营费用)
      开发效率
    • 9. 系统演进的动力
      来源
      流量的增长
      产品需求的复杂化
      发现的途径
      监控
      变更和发布记录
      实现当中发现的问题
      项目管理中发现的开发效率问题
    • 10. 二、监控系统
    • 11. 高可用性
      3个9:99.9%
      2592秒/月=43分钟/月
      2小时/季度
      4个9:99.99%
      259秒/月=4.3分钟/月
      12.9分钟/季度
    • 12. 一个故障
      特定事情发生
      服务质量
      不可接受
      故障发生
      注意到故障
      并开始修复
      修复结束
    • 13. 网站故障来源
      故障的来源
      各种变更
      访问量增长(capacity planning)
      人为操作失误
      硬件、软件异常
    • 14. 监控
      监控分为两大类

      及时发现失效点
      关联关系

      控制,就要有预先的概念
      保留历史记录,对可能出现的问题进行预判和预先改进
      在故障处理的时候,检查历史记录,找出变更对应的时间
    • 15. 对关联关系的看法
      个人认为使用服务方负责监控服务的质量和可用性
      识别重要关联关系
      对关联服务有质量标准,譬如成功率,延时等
      制定报警标准
      根据实际情况修正相关标准
    • 16. 层次
    • 17. Qunar的监控系统
      What’s up
      监控服务器存活状态
      监控URL存活状态
      Cacti
      监控服务器各项资源的使用情况
      丰富的plugin
      Squid/memcached/netapp
      保存历史记录,观察流量和各项资源的使用的关系
      要求ops每天都需要浏览cacti,每周全面审核
    • 18. Qunar监控
      Hyperic
      Java
      开源
      丰富的plugin
      可用的报警机制
      所有的业务、系统相关指标都在hyperic
      Smokeping
      Monitor机房到各省各个运营商的链路质量
    • 19. 经验
    • 20. 经验
      每次发布完,团队要对所有的监控指标和系统图形观察30分钟以后才算结束发布
      ops团队每天早上会对关键应用的指标进行快速review
      Ops团队每周会对监控指标做快速巡查
      90%以上的故障能通过监控系统发现
    • 21. 三、虚拟化在去哪儿的应用
    • 22. Xen
      虚拟化
      70%以上的生产服务器跑在Xen上
      迁移方便
      部署、管理简单
      更高的使用率,平均cpu使用率从15%->45%
      OVM/Xen
      有基于web的管理界面
      剪裁比较好,300M
    • 23. Hardware
      CPU
      2x4 core
      Ram
      32G or 16G
      Disk
      2x500G, Raid 0+1,有些有带电池写cache的raid卡
      NIC
      2x1G,1 for ilo
    • 24. Xen
      Example
      [david.wu@tools1.ops.cn1 ~]$ ssh l-ovms8.ops.cn1 'sudo /usr/sbin/xm list'
      Name ID Mem VCPUs State Time(s)
      112_tw6_f_cn1 2 2200 4 r----- 3097120.3
      114_tw7_f_cn1 3 2200 4 -b---- 3099024.2
      116_mem1_f_cn1 1 1700 4 -b---- 267107.3
      118_sug1_f_cn1 10 1200 4 -b---- 58702.3
      430_twb2_f_cn1_ovms8 9 2200 4 r----- 2283516.6
      434_askdb1_ovms8 11 2200 4 -b---- 60466.4
      Domain-0 0 668 8 r----- 1661065.3
    • 25. 问题
      性能
      RAM/Syscall(context switch)
      I/O performance
      Disk performance
      Network performance(not so important in web environment)
      管理
      Network structure(vlan tagging)
      VMM层
      Vm之间隔离
    • 26. RAM/Syscall
      Unixbench score
      Raw 503
      Dom-0 397
      Dom-U 317
    • 27. Unixbench score
    • 28. Disk performance(with write buffer)
      Bonnie++
    • 29. Disk performance(without write buffer)
    • 30. Disk performance(Random seek)
    • 31. Vlan tagging
      一个物理主机上要支持在多个vlan的虚拟机
      规模扩大,单个网段无法满足需求
      安全分区需求
    • 32. Xen
      In the future
      Share storage/Live migration
      Device pass-through
      VMDq/VT-d/SR-IOV
      Network structure optimization
      Upgrade to Xen 4.0 to improve the performance
    • 33. 四、Java开发的一些tips
    • 34. JAVA开发的一些Tips
      善用jdk的命令
      Jps
      Jstat
      Jmap
      Jstack
      jhat
    • 35. tips
      内存
      OOM
      GC并不能杜绝内存泄露
      仔细计算内存的使用,内存是有限的,给内存的使用一个上限
      Jhat可以帮助你看到你的内存用在什么地方
      内存池化
    • 36. tips
      线程
      线程数量是有限的
      所以减少线程数量是非常重要的
      减少数量意味着要缩短线程的长度
      线程池化,降低创建和销毁线程的开销
    • 37. tips
      Cache和timeout是互联网永恒的主题
      数字,数字,数字
      监控对于工程师,相当于雷达对于战斗机
      还可以更简单吗??
      如果不知道未来,那就不要为未来做准备
      性能(速度)象海绵,挤一挤总会有的
      去掉一个部件远比增加一个部件功劳大
      并发安全是魔鬼
    • 38. 一点体会
      共享基础设施比代码重用更加重要
      保持状态是扩展性的天敌
      团队的背景很大程度决定了架构的采用
      “最好”vs“最合适”
      “解决现在的问题”vs“解决将来的问题”
      好的架构匹配好的运维
      任何一项技术/架构的引进都需要一个痛苦的过程
    • 39. 邮箱: david.wu@qunar.com
      电话: 13701172202

    ×