• Windows平台高性能站点手册


    一、       服务

    1、  Web服务与数据库服务分离

    2、  图片、样式表、JavaScript等静态内容,单独放置在静态服务器上

    3、  对Web做负载均衡,提升系统的可用性和可扩展性

    a)         Microsoft Windows Server NLB(网络负载平衡

    参考资料:http://tianzt.blog.51cto.com/459544/163800

    b)         Nginx 参考资料:http://www.xueit.com/html/2009-11-11/34-116884196140.html

    Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,兼具负载平衡功能。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页伺服器中表现较好.目前中国大陆使用nginx网站用户有:新浪、网易、 腾讯,另外知名的微网志Plurk也使用nginx。

    Nginx可以处理上万并发,所以绝对是个非常不错的选择。如果网站访问量非常大,可以专门用一台服务器跑Nginx,其它服务器跑网站程序(几台服务器的程序都是一样的),这样负载就没有太大问题,如果再不行,把网站一些栏目做一个2级域名,2级域名同样做负载。

    Nginx软件在linux上跑性能比在windows上跑要好,所以做负载可以用linux跑nginx,.net开发的网站放到windows服务器IIS上。

    4、  代理服务器缓存静态内容/容灾/镜像

    a)         Squid

    Squid是一款流行的代理服务器和Web缓存服务器。Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络安全,到局域网通过代理上网。Squid主要设计用于在Unix一类系统运行。

    b)         Nginx

    Nginx做为HTTP服务器,有以下几项基本特性:

    1.处理静态文件,索引文件以及自动索引;打开文件描述符缓冲;

    2.无缓存的反向代理加速,简单的负载均衡和容错。

    Nginx在功能和性能上全面超越了Squid。

    c)         Lighttpd (参考资料: http://spiritfrog.iteye.com/blog/600229

    如其名,Lighttpd是一款轻量级的Web服务器软件。

    适用场景:在不考虑搭建流媒体服务器的情况下,搭建一个视频播放之用的http server。

    二、       数据存储

    a)         拥有一名对特定数据库系统通晓的DBA:

    一行SQL语句能跑通和能跑得很快,是有很大区别的。

    例如,DBA会告诉你,在存储过程中使用sp_executesql 而不是直接写SQL语句跑作业,能提高100倍以上的速度。如下范例:

    --直接查询,使用聚集索引查找

    SELECT * FROM dbo.test WHERE id=345632;



    --使用参数化SQL 执行,避免意外的表扫描

    DECLARE @i int;

    SET @i = 845632;

    DECLARE @SQL NVARCHAR(MAX);

    SET @SQL=N'SELECT * FROM dbo.test WHERE id = @i';

    EXEC sp_executesql @SQL,N'@i int',@i;

     

    b)         列加上索引(聚集索引 和 非聚集索引,

    参数资料: http://www.cnblogs.com/qqq88zz/archive/2011/05/17/2048300.html

    c)         数据库分区分表,散列(垂直、水平分割,散列,

    参考资料:http://blog.csdn.net/dongxiaohui2008/article/details/6583798

    d)         减少锁的发生(行级别控制,

    参考资料:http://blog.csdn.net/king_idea8848/article/details/4674664

    e)         永无止境的优化(查询优化、索引优化、算法优化

    参考资料:http://www.cnblogs.com/chuncn/archive/2009/04/21/1440233.html

    三、       缓存

    高并发的快速解决方案,有时,就是缓存。针对动态数据进行缓存,在数据库和Web服务之间,建立起一道屏蔽,在第一次请求过后,不再请求数据库,尽量避免因高并发带来的数据库死锁情况发生。缓存服务器配合前面介绍的负载与代理软件,能很好的为Web应用减压。

    a)         memcached分布式缓存快取系统

    (配置资料:http://www.cnblogs.com/luluping/archive/2009/01/14/1375453.html

    Memcached是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。

    b)         Apache Cassandra

    Apache Cassandra是一套开源分布式Key-Value存储系统。它最初由Facebook开发,用于储存特别大的数据。Facebook目前在使用此系统。

    主要特性:

    分布式

    基于column的结构化

    高伸展性

    c)         Mongo、Redis、VelocityCache…

    四、       站点

    a)         参照Yahoo前端优化原则去做(

    参考资料:http://www.websbook.com/Operate/Seo/yahoowzdyhyz_20529.html

    1、尽量减少HTTP请求个数——须权衡

    2、使用CDN(内容分发网络)

    3、为文件头指定Expires或Cache-Control,使内容具有缓存性。

    4、避免空的src和href

    5、使用gzip压缩内容

    6、把CSS放到顶部

    7、把JS放到底部

    8、避免使用CSS表达式

    9、将CSS和JS放到外部文件中

    10、减少DNS查找次数

    11、精简CSS和JS

    12、避免跳转

    13、剔除重复的JS和CSS

    14、配置ETags

    15、使AJAX可缓存

    16、尽早刷新输出缓冲

    17、使用GET来完成AJAX请求

    18、延迟加载

    19、预加载

    20、减少DOM元素个数

    21、根据域名划分页面内容

    22、尽量减少iframe的个数

    23、避免404

    24、减少Cookie的大小

    25、使用无cookie的域

    26、减少DOM访问

    27、开发智能事件处理程序

    28、用<link>代替@import

    29、避免使用滤镜

    30、优化图像

    31、优化CSS Spirite

    32、不要在HTML中缩放图像——须权衡

    33、favicon.ico要小而且可缓存

    34、保持单个内容小于25K

    35、打包组件成复合文本

    b)         为IIS搭配一个唤醒模块,解救不幸的第一个访客(参考资料:

    http://www.cnblogs.com/shanyou/archive/2010/12/21/1913199.html

    c)         将静态服务器配置为Cookieless

    五、       测试

    针对性能和应用,选择不同的工具做压力测试(参考资料:

    http://www.cnblogs.com/junzhongxu/archive/2010/03/02/1676508.html

  • 相关阅读:
    html框架
    head标签
    项目报错,tomcat中引起
    Eclipse中点击小猫提示Tomcat settings should be set in Tomcat Preference Page
    同一台电脑上安装两个tomcat服务器
    Java排序算法
    格式化系统日期
    九九乘法表
    Java实现给定字符串的倒序输出
    Eclipse警告:The serializable class XXX does not declare a static final serialVersionUID field of type long
  • 原文地址:https://www.cnblogs.com/moye/p/HighScalabilitySiteOnWindows.html
Copyright © 2020-2023  润新知