网站性能提高实战经验点滴记录
DB:
1.数据库可以适当设计一些冗余字段来减少联合查询
2.经常查询的字段要建立索引
3.查询内容尽量简洁, 比如cakephp中的查询尽量设置$this->recursive=-1,并指定fields.
4.数据库用单独的服务器,有条件的常用查询数据单独分库
5.把session等数据放在Memcache而不是数据库中既能满足多服务器之间共享也能降低数据库的负载。
参考如下文章: http://www.linuxjournal.com/article/7451?page=0,1
6.Bad Sql会摧毁系统的CPU,尤其在使用IN查询时,一定要确保array里面数据是唯一的,且不能有大量数据。
HTTP Request:
1.调节apache增大服务器并发处理连接数
2.压缩js/css减少客户并发请求连接数(apache/nginx的gzip配置)
3.尽量使用离线数据库,少调用远程http service(geoip service, google map...).至少要设置合理的请求超时时间。
4.图片、静态资源用专用的服务器
WEB server:
1.apache+php->ningx+(php+fpm)
2.haproxy, 设置请求队列queue, 比如50,这样可以起到缓冲和保护web server的作用,效果明显
3.添加web server, haproxy负载均衡
( 多服务器注意session/cache放在数据库或者memcache中,代码补丁注意同步, 动态生成或者管理员加载的资源注意同步)
Code:
1.避免无效循环
2.避免无效链接请求
3.设计上注意不要产生单个服务器的文件
4.设计上注意不要产生大量的小文件,否则可能会引起inode资源耗尽
5.设计上注意不要把大量营销邮件的发送和单个业务邮件混淆在一起,另外批量邮件的产生和发送逻辑要分开
6.最好把营销邮件的发送以调用第三方专业邮件服务的形式完成。这样可以避免垃圾邮件和检查无效邮件
to be continued.
相关推荐
-
网站性能提高实战经验点滴记录
DB: 1.数据库可以适当设计一些冗余字段来减少联合查询 2.经常查询的字段要建立索引 3.查询内容尽量简洁, 比如cakephp中的查询尽量设置$this->recursive=-1,并指定fields. 4.数据库用单独的服务器,有条件的常用查询数据单独分库 5.把session等数据放在Memcache而不是数据库中既能满足多服务器之间共享也能降低数据库的负载. 参考如下文章: http://www.linuxjournal.com/article/7451?page=0,1 6.Bad
-
JavaScript提高网站性能优化的建议(二)
在javascript关于提高网站性能的几点建议(一)中,从HTTP请求到页面渲染几个方面对提高网站性能提出了几点建议,本文是学习Steve Sounders的另外一本书<高性能网站建设进阶指南>之后,从JavaScript性能的角度进行总结概括,诸君共勉. JavaScript性能是实现高性能Web应用程序的关键 --Steve Sounders 1 利用js作用域链 作用域链(scope chain) 当执行一段JavaScript代码(全局代码或函数)时,JavaScript引擎会创建为
-
JavaScript关于提高网站性能的几点建议(一)
近在学习<高性能网站建设指南>这本书,本文算是一个学习笔记,将学到的东西进行整理一下,方便后面查看. 性能黄金法则(Performance Golden Rule)解释了只有10%~20%的最终用户响应时间花在接受所请求的用户HTML文档上,剩余的80%~90%时间花在为HTML文档所引用的所有组件(图片.脚本.样式表等)进行的HTTP请求上,最终用户响应时间花费在页面组件上 --Steve Sounders 1 文件合并(减少HTTP请求数量) CSS Sprites 利用css s
-
图片该如何优化来提高网站性能
概述 图像是web上提供的最基本的内容类型之一.他们说一张图片胜过千言万语.但是如果你不小心的话,图片大小有时高达几十兆. 因此,虽然网络图像需要清晰明快,但它们尺寸可以缩小压缩的,使用加载时间保持在可接受的水平. 在我的网站上,我注意到我的主页的页面大小 超过了1.1MB,图片占了约88%,我还注意到我提供的图像比它们需要的大(在分辨率方面),显然,还有很多改进的空间. 我开始阅读 Addy Osmani 的优秀Essential Image Optimization电子书,并开始在我的网站上
-
sqlserver性能调优经验总结
相信不少的朋友,无论是做开发.架构的,还是DBA等,都经常听说"调优"这个词.说起"调优",可能会让很多技术人员心头激情澎湃,也可能会让很多人感觉苦恼.当然,也有很多人对此不屑一顾,因为并不是每个人接触到的项目都很大,也不是每个人做的项目都对性能要求很高. 在主流的企业级开发和互联网应用中,数据库的重要性是不言而喻的,而数据库的性能对于整个系统的性能而言也是至关重要的,这里无庸赘述. sqlserver的性能调优,其实是个很宽广的话题.坦白讲,想从概念到实践的完全讲
-
关于Java锁性能提高(锁升级)机制的总结
目录 Java锁性能提高机制 锁偏向 轻量级锁 自旋锁 重量级锁 Java锁升级简述 对象头结构 synchronized关键字 monitor 锁的四种状态 Java锁性能提高机制 锁的使用很难避免,如何尽量提高锁的性能就显得比较重要了 锁偏向 所谓的偏向锁是指在对象实例的Mark Word(说白了就是对象内存中的开头几个字节保留的信息,如果把一个对象序列化后明显可以看见开头的这些信息),为了在线程竞争不激烈的情况下,减少加锁及解锁的性能损耗(轻量级锁涉及多次CAS操作)在Mark Word中
-
浅谈Redis高并发缓存架构性能优化实战
目录 场景1: 中小型公司Redis缓存架构以及线上问题实战 场景2: 大厂线上大规模商品缓存数据冷热分离实战 场景3: 基于DCL机制解决热点缓存并发重建问题实战 场景4: 突发性热点缓存重建导致系统压力暴增 场景5: 解决大规模缓存击穿导致线上数据库压力暴增 场景6: 黑客工资导致缓存穿透线上数据库宕机 场景7: 大V直播带货导致线上商品系统崩溃原因分析 场景8: Redis分布式锁解决缓存与数据库双写不一致问题实战 场景9: 大促压力暴增导致分布式锁串行争用问题优化 场景10: 利用多级缓
-
MongoDB数据库查询性能提高40倍的经历分享
前言 数据库性能对软件整体性能有着至关重要的影响,本文给大家分享了一次MongoDB数据库查询性能提高40倍的经历,感兴趣的朋友们可以参考学习. 背景说明 1.数据库:MongoDB 2.数据集: A:字段数不定,这里主要用到的两个UID和Date B:三个字段,UID.Date.Actions.其中Actions字段是包含260元素JSON数组,每个JSON对象有6个字段.共有数据800万条左右. 3.业务场景:求平均数 通过组合条件从A数据表查询出(UID,Date)列表,最多可能包含数万条
-
Asp.net 网站性能优化二则分享
随着后端优化空间越来越小,现在越来越多的网站更注重前端性能的优化,就是浏览器,http层面的优化,这里写两点最简单最有效的 asp.net网站优化技巧. 了解常见的网站性能优化技巧 首先我们要学一些优化网站性能和体验的理论和基础知识,雅虎已经帮我们总结好了,详见参考链接中的几篇文章,有好心人已经给翻译成中文了.这里面提到的一些技巧可操作性都很强,建议每一个网站开发人员都仔细学习并进行实践,可以说不了解这里面说的优化技巧,提升网站前端性能就无从谈起. 诊断网站性能 要想优化网站的前端性能,首先要查
-
asp.net小谈网站性能优化
当然,网站性能优化是多方面的,这里先谈一下这些天来的所获: 1.书写代码的习惯: 再复杂的逻辑,也是从最简单的开始.在书写代码的过程中,很多不好的规范都会影响网站的性能: 以下是整理出来的些许代码习惯: 1)字符串的比较 用 string.Empty 代替 " " 2)在遍历过程中,先定义好计数变量, 再遍历, 这样会减少每次遍历就分配一次内存空间: 复制代码 代码如下: int i; for( i=0; i<100;i++) { // codeing } 3)同样的,用 Str
随机推荐
- 详细讲解安全升级MySQL的方法
- 使用Python抓取模板之家的CSS模板
- flex chrome浏览器调试出现空白的解决方法
- 什么叫标准网页设计?
- jQuery插件datatables使用教程
- jQuery页面滚动浮动层智能定位实例代码
- node.js中module.exports与exports用法上的区别
- Vue.js移动端左滑删除组件的实现代码
- 在iOS10系统中微信后退无法发起ajax请求的问题解决办法
- IOS实现选择城市后跳转Tabbar效果
- Asp.Net 动态页面转静态页面主要代码
- ASP.net(c#)用类的思想实现插入数据到ACCESS例子
- php实现aes加密类分享
- 详谈js使用in和hasOwnProperty获取对象属性的区别
- 谈谈JavaScript异步函数发展历程
- VBS教程:属性-SubFolders 属性
- juqery 学习之四 筛选查找
- 浅谈SpringMVC的执行流程
- Spring 实现excel及pdf导出表格示例
- js 函数的副作用分析