实战网站优化
来源:互联网 发布:软件项目文档研制成果 编辑:程序博客网 时间:2024/05/17 07:41
之前内部系统优化,小有成效,被任命负责网站优化,写下此博客。
网站介绍
alexa 日独立ip>20万,日pv>110万。
实际上仅仅一台服务器,10点-11点一小时pv就能达到50万。全天远超110万。 alexa只能做参考。
网站架构
2个lvs,7台webserver, 1台内网webserver, 采用lamp,使用memcache。 网站内容用户差异,未做静态缓存。
网站优化
1: 服务器性能调优
使用 zabbix监控,查看网站总体性能,设置警戒值,对于逼近警戒的,性能参数,进行调优。
比如,最新的两个参数调优 A apache进程数 B memcache命中率
A : 突然有一天,apache的进程数疯狂飙升,平时只有120,突然400+,且常常突破800上线。(进程状态reading时间超长)
思路:
0)查看流量
经查,确实有爬虫异常,隔离访问后进程数仍然不降低。
1) 查看apache log,检查是否新上线功能的页面性能低下造成的。
经查,确实有新上线的功能,性能有问题,但不是根本原因
2)使用strace,netstat查看reading状态的进程在做什么
经查,有pconnect操作,但是不是根本原因。有timeout请求,问题的直接原因。
3)使用tcpdump抓包,分析访问超时次数的ip记录
经查,问题出现在tcp传输上的,timeout
解决问题:
托管机房突然网络不稳,丢包严重,导致进程等待,采取措施是减少timeout的等待时间
B: memcache命中率低,只能达到80%
思路:
0)查看memcache监控中的内存使用率
经查,内存还有10%空余
1)telnet,使用stats命令
经查,items不够用
2)面临选择,加内存,还是加机器
经测试,内存需要加一倍,再加2台机器
解决问题:
a:修改一致性算法,让分布更加均匀
b:增加机器与调高内存
c:使用stats items,查看slabs使用情况,使用move命令,将空闲内存分配给已满的slab。
2:应用调优
A apc调优, apc是php的opcode的缓存,也可当key/value的内存缓存
1):调整内存大小,文件大小,文件数量,缓存时间, 使用性能更高的锁,增加黑名单过滤临时文件
2):stat调整成0, 开发上线流程修改,保证文件及时更新。
B 静态缓存,将原动态页面分割成,相对静态的页面,使用过期策略+主动更新方式管理。
1):均匀算法,本地磁盘分配,不同步文件。
2):超容量规划后,再使用redis
3):过期文件,垃圾回收,脚本任务处理
C 增强apachelog日志监控,
1):实时报告 大于400的错误页面
2):实时分析爬虫,ip限制+分流
D memcache使用优化
1):key分组
2):hotkey复制别名,分担压力
3) : 更新加锁,防止瞬间大流量访问db
E rest接口自我调整
1):失败统计
2):超时统计
3):自我关闭算法,自我开启算法,关闭期间,保持心跳监控url
4):关闭状态,记日志,放入全局变量
F js,全部切换cdn
G lvs后加ngnix,做应用分离
- 实战网站优化
- 网站性能优化最佳实战
- 实战:如何做好网站SEO基础优化?
- 门户网站CDN实战优化教学案例分享
- 《SEO实战密码》——SEO网站结构优化
- Java Web高性能开发--网站优化实战
- 优化实战案例:被K(拔毛)网站成功恢复案例
- 实战seo教程1:实战案例——小帅优化网站,70天目标关键词全部第一
- 网站优化
- 网站优化
- 网站优化
- 网站优化
- 优化网站
- 网站优化
- 网站优化
- 网站优化
- 网站优化
- 网站优化
- 网络编程小例子
- Creo二次开发--函数(1)--可扩展数组
- 用PARSENAME函数拆分字符串
- 在Eclipse安装Aptana插件
- Github是什么,是GIT的界面工具?
- 实战网站优化
- 搭建Qt5+MinGW开发环境
- 硬盘安装fedora 18 livecd
- Redhat linux自动FTP传送备份
- 喂!程序猿,您喜欢测试猿吗?
- C++头文件多次包含 变量,函数重定义解决方案
- 财务账目上60种所谓“合理避税”实为“偷税”的手法
- BS开发中遇到的安全隐患和对应措施 (不定时更新)
- 计划成本法有哪些优势和劣势