来自:http://www.icultivator.com

WEB开发原则
一. 服务器端:

数据库层:


1. 数据库性能优化:(设计方案,索引,查询缓存,反范式化设计)

2. 使用NoSQL数据库(mongoDB, 这个OSC多的是)


逻辑处理层:


  1. web压力测试(吞吐率, ab或者siege工具)

  2. 动态内容缓存(文件缓存,APC缓存,扩展k/v缓存)

  3. 静态化动态内容6. 分布式缓存(memcache, redis)

  4. opcode编译缓存(APC, xcache)

  5. 浏览器缓存(Expire header)

  6. 使用PDO接口访问数据库


宿主环境层(web服务器,Apache):


    1. web服务器缓存(mod_disk_cache, mod_file_cache:文件描述符缓存)

    2. 传输加速(apache:mod_deflate启用, php自主gzip压缩)

    3. web组件分离 (均衡web负载, 最大化浏览器多线程下载)

    4. xdebug瓶颈分析


二.前台:

    1. Ajax优化方案:

    2. 减少http请求(多图合一, 合并静态组件, 图片延时加载)

    3. 使用内容分发网络(和web组建分离类似, 激发浏览器并发, 分担web服务器负载)

    4. 启动浏览器缓存(添加Expire头信息)

    5. 压缩静态组件(等同服务器压缩传输)

    6. 将css放在页面顶部

    7. 将js放在页面底部

    8. 避免css表达式

    9. 外部引用js和css

    10.减少DNS查询(DNS缓存,TTL设置, Keep-alive, 使用更少的域名, 同域名内静态文件加载使用/代替域名)  

    11.简化压缩静态js和css

    12.避免重定向(这里指静态资源的获取过程)

    13.去除多余的js

    14.配置ETags

    15.缓存ajax结果

    16.DNS预取(<link rel="dns-prefetch" href="//预取域名">)

    17.资源预取(内联img标签, <link rel="prefetch" href="图片地址">)

    18.渐进的JPEG(导出jpeg图片时勾选对应选项)