Latest Posts »
Latest Comments »
Popular Posts »

DNS部署原则实践

Written by bixuan on 2009年05月31号 – 11:36

部署原则

主要是按照3H1L(高可用、高性能、高安全、低成本)原则来部署,加上DNS本来就是一个强大的分布式数据库,且会根据RTT值来选择最快的DNS,以及结合中国复杂的网络环境,具体实践方法如下:
  • 至少有2台以上的服务器,防止服务器的单点;
  • 分布在不同的IDC,且不同的ISP机房,最好是不在同一城市,防止IDC和链路的单点;
  • 所在IDC链路的速度要稳定和高效,比如是骨干节点
  • 放在防火墙后面,因为DNS服务器一旦遭受攻击效果非常明显,后果非常严重;
  • 放在在不同的机柜下,防止电源单点;
  • 放在不同的交换机下,防止交换机单点;
  • 我们现在使用的BIND9是一款老牌知名的DNS软件,稳定性高,性能可以达到:30Kqps;
  • DNS对系统资源消耗并不是很多(带宽也就几百Kbps),普通的DELL(根据经验,DELL的机器相对是比较稳定的)机器就可以了;
  • 维护方便,不然出问题不能很快响应那是很糟糕的;

Tags: , , , ,
Posted in 运维小技巧 | No Comments »

DNS系统上线咯

Written by bixuan on 2009年04月9号 – 00:59

DNS管理系统终于上线了,嘿嘿:)


Tags:
Posted in 生活日志 | 1 Comment »

DNS管理系统

Written by bixuan on 2009年03月31号 – 22:30

从去年就喊着要开发DNS管理,到今天才算完整了第1个版本,目前是Beta1.0,功能:

  1. 用户管理,支持2级的管理;
  2. 域名管理,可以添加多个域名;
  3. 记录管理,方便的添加,修改记录,同时支持单个zone的迁移;
  4. 多VIEW支持(其实就是简易上的GSLB),目前支持76个view;
  5. 权限管理,可以针对不同用户进行权限设置;
  6. 日志查看(第1版只对域名解析记录操作做日志保留,且保留最近20条)

未来的功能:

  1. 动态更新解析记录,更灵活实现GSLB

睡觉:)


Tags:
Posted in 架构设计, 运维小技巧 | No Comments »

S3-组成Web站点元素

Written by bixuan on 2009年01月22号 – 15:01

S3:组成Web站点元素

不了解组成Web站点元素,就没办法进行架构的设计,犹如厨师不知道有哪些材料,那他如何做的出可口的菜肴?
从外到里:

  1. 浏览器
  2. DNS
  3. Web UI设计
  4. 应用程序
  5. 操作系统
  6. 服务器硬件
  7. 网络系统

返回上一章:《S2:性能参数


Tags: , , , , , , ,
Posted in 3H1L | 1 Comment »

六、性能分析

Written by bixuan on 2008年10月6号 – 13:05

六.  性能分析

诊断问题时,第一步将问题分为五种类别:

DNS查找时间

连接建立时间

服务器停止时间

传输时间

连接关闭时间

这些步骤的顺序总是这样的。

通过自己编写脚本找出瓶颈

以下指导原则可以解决可能出现的五种瓶颈:

如果DNS是瓶颈所在,那么可能是测试脚本指定的local dns链路不好,或者是我们的域名的DNS链路不好。

如果连接时间是瓶颈,则一定是网络存在问题。可能是连接建立时,由于网路设备超载而丢失了一个数据包。路由器、交换机、线缆、网卡也都可能出现问题,都应该进行检查。

如果服务器静止时间是瓶颈,则服务器可能会出现某种程度的超载,更换为更好的硬件或使用更加优化的服务器应用程序或数据库即可解决这个问题。

如果传输时间是瓶颈,则问题在于客户端连接速度太慢,或者是要传输的内容过大所致。

如果连接关闭是瓶颈,则仍然是网络问题。

查看连接

另一种了解站点情况的不错的方法是在创建和断开连接时观察连接。可以在Web服务器、中间件或者数据库的某个回路中运行netstat。

日志分析

3.1 平均传输大小

3.2 响应大小分布

对服务器的响应大小的分布有一些了解是十分重要的。根据响应大小的分布信息,你可以决定使用多少台服务器、每台服务器针对不同的响应大小这种方式对你是否有意义。

点击率

4.1 可变负载和队列长度

4.2 究竟应何时记录访问次数

4.3 谁是访问率最高的用户?

通过日志的分析,就可以很快找到访问频率最高的用户的IP地址。

4.4 哪个进程是我的?

可以用哦个lsof -i:port来识别进程,

或者fuser 80/tcp

4.5 谁在使用该文件

fuser还可以用于找出谁在使用Linux上的特定文件。fuser filename,则可以报告除所有使用该文件的pid。

4.6 我的进程正在使用哪些文件?

只需找到进程ID,然后在/proc下查找该数字即可。在/proc下,将会找到名为fd的目录,在该目录中,每个文件描述符都是到一个真实文件的符号连接。如:我的Web服务器的pid是7428,则有:

# ls -l /proc/7428/fd

total 10

lrwx——  1 root root 64 Sep 30 21:55 0 -> /dev/null

lrwx——  1 root root 64 Sep 30 21:55 1 -> /dev/null

lrwx——  1 root root 64 Sep 30 21:55 2 -> /dfs/web/nginx-0.5.35/logs/error.log

lrwx——  1 root root 64 Sep 30 21:55 3 -> /dfs/web/nginx-0.5.35/logs/error.log

lrwx——  1 root root 64 Sep 30 21:55 4 -> /dfs/web/nginx-0.5.35/logs/acc.log

lrwx——  1 root root 64 Sep 30 21:55 5 -> socket:[7195389]

lrwx——  1 root root 64 Sep 30 21:55 6 -> socket:[7195392]

lrwx——  1 root root 64 Sep 30 21:55 7 -> socket:[7195393]

lrwx——  1 root root 64 Sep 30 21:55 8 -> socket:[7195395]

lrwx——  1 root root 64 Sep 30 21:55 9 -> socket:[7195396]

4.7 如果数据库挂起,将会出现什么情况?

要知道这个问题的答案,可以简单的将数据库中的一个关键数据表锁住并查看在Web站点上会发生什么情况。

这样做往往会出现以下几种原因:

一种原因是为了查看在点击该Web站点的用户达到一定的数量后,数据库中有多少用户请求在列队等待;

另外,你使用这种方法来模拟一个过于繁忙的数据库,查看有何影响;

还可以用来检验某个特定的页面是否是依赖数据库而存在。

更多提示

获取一份清晰详尽地标明了所有服务器和连接情况的拓扑结构图。

首先应当考虑改变最高层(即体系结构),找到那些可以省去的步骤和机器。最低层的优化应当留到以后再做,因为从低层的优化获得的收益较小,而且在低层优化时的任何变动都有可能造成体系结构的大幅度改变。

最有可能产生性能问题的是“自产”的应用程序、高级别的体系结构、数据库、网络和硬盘。

尽量在系统上没有其他用户或进程时运行负载测试,一般可能是在晚上,这样可以发现当前配置可能的最佳性能。这有助于清楚地了解差的应用程序和系统上的过渡负载之间的差别。如果在只存在一个没有网路负载的单独用户时性能很差,那么问题可能处在应用程序上。如果性能是间歇性地变差,则应当查找应用程序处理的低效率错误。

监控进程的大小,以查找内存泄露。

使用日志文件查找错误。

检查物理线缆的连接,查找是否因线路纠结或接口处的问题影响性能,比如过于接近荧光灯或无线发送装置。

记住,性能问题的产生即意味着引起某处的用户的不满,成功解决性能问题则意味着使这些用户满意,其满意程度甚至会超过替他们解决所有技术问题所带来的快乐。

惯性建议

去了解一下哪些工具可用于将活动映射为PID。

不要过分相信日志文件的正确性。

记住日志文件记录的是响应完成时的时间,而不是响应开始时的时间。


Tags: , , , , , , , ,
Posted in 运维小技巧 | 1 Comment »

Yahoo!网站性能最佳体验的34条黄金守则——图片、Coockie与移动应用

Written by bixuan on 2008年06月30号 – 16:41

英文地址:http://developer.yahoo.com/performance/rules.html
中文地址:http://www.dudo.org/article.asp?id=218
我们在前面的几节中分别讲了提高网站性能中内容服务器JavaScript和CSS等方面的内容。除此之外,图片和Coockie也是我们网站中几乎不可缺少组成部分,此外随着移动设备的流行,对于移动应用的优化也十分重要。这主要包括:
Coockie:

  1. 减小Cookie体积
  2. 对于页面内容使用无coockie域名

图片:

  1. 优化图像
  2. 优化CSS Spirite
  3. 不要在HTML中缩放图像
  4. favicon.ico要小而且可缓存

移动应用:

  1. 保持单个内容小于25K
  2. 打包组件成复合文本

Read more »


Tags: , , , , , , , , , ,
Posted in FAQ, 运维小技巧 | No Comments »

Yahoo!网站性能最佳体验的34条黄金守则——JavaScript和CSS

Written by bixuan on 2008年06月30号 – 16:39


Tags: , , , , , , , , , , , ,
Posted in FAQ, 运维小技巧 | No Comments »

Yahoo!网站性能最佳体验的34条黄金守则——服务器

Written by bixuan on 2008年06月30号 – 16:38


Tags: , , , , , , , , , , , , ,
Posted in FAQ, 运维小技巧 | No Comments »

Yahoo!网站性能最佳体验的34条黄金守则——内容

Written by bixuan on 2008年06月30号 – 16:32

英文地址:http://developer.yahoo.com/performance/rules.html
中文地址:http://www.dudo.org/article.asp?id=214
Yahoo!的Exceptional Performance团队为改善Web性能带来最佳实践。他们为此进行了一系列的实验、开发了各种工具、写了大量的文章和博客并在各种会议上参与探讨。最佳实践的核心就是旨在提高网站性能。
Excetional Performance团队总结出了一系列可以提高网站速度的方法。可以分为7大类34条。包括内容、服务器、cookie、CSS、JavaScript、图片、移动应用等七部分。

其中内容部分一共十条建议:

一、内容部分

  1. 尽量减少HTTP请求
  2. 减少DNS查找
  3. 避免跳转
  4. 缓存Ajax
  5. 推迟加载
  6. 提前加载
  7. 减少DOM元素数量
  8. 用域名划分页面内容
  9. 使frame数量最少
  10. 避免404错误

Read more »


Tags: , , , , , , , , , ,
Posted in FAQ, 运维小技巧 | No Comments »

dnstracer

Written by bixuan on 2007年12月7号 – 22:12

dnstracer

http://www.mavetju.org/unix/dnstracer.php

dnstracer determines where a given Domain Name Server (DNS) gets its information from, and follows the chain of DNS servers back to the servers which know the data.

可以通过nstracer查到域名那个上级nameserver,很不错的工具:)


Tags: , ,
Posted in 运维小技巧 | No Comments »
 Page 1 of 2  1  2 »