网站性能优化--实例分析篇

news/2024/5/16 4:35:47/文章来源:https://blog.csdn.net/JeamKing/article/details/5187025

转自:http://blog.sina.com.cn/s/blog_466c66400100bkis.html

--提升性能的同时为你节约10倍以上成本
From: http://blog.sina.com.cn/iyangjian

一,自选股分析
二,NBA比赛分析
三,播客分析
四,开心网分析
-----------------------------------------------------------------------------------------

下面的图片都是在教育网访问的情况,我故意放大了某些缺陷,这样可以很好的模拟没有部署服务的地区对用户体验的影响。我只能针对我熟悉和了解的项目进行分析,另外还有我们经常访问的网站也会被拿来做素材分析。我们老大也说问题暴露出来,能推动解决的话也很好,大家别拍我。

一,自选股分析


某天我终于在教育网部署了一台行情服务,兴致冲冲的回家一试,貌似没啥变化,该慢还慢。打开页面过程持续了几十秒,然后终于露出了行情,我再电击每个组合 的时候就出现了上面的一幕。看了下firebug,最慢资源排名前三依次为:高效计数服务,secure-cn统计服务,动态池服务。

高效计数服务是早期我参与的项目,那时候资源有限,全部部署在了网通。
secure-cn统计服务: 这个服务不慢是不正常的,到处都嵌,还不能不嵌。
动态池数据库很牛,但在偏远地区也鞭长莫及。这个缺点比较典型:
一,没有在教育网部署。
二,没有保持长连接。
三,没有使用cahce
四,没有使用压缩
五,长达2.46K的http 请求header,捎带大量cookie,见下面。

解决方法:我分析了下,下面这个数据变化很慢的,主要放一些市盈率和用户股票列表。市盈率可以通过去年的每股收益来计算,以年计,可以变通一下。用户股票 列表我也好几个月没更新了,大家并不是总更新。所以这部分数据是可以被设置一个很长的cache的,如果用户更新了股票列表,我们也只需要在maxage 版本号上加1就ok了。另外,用户点了一个组合,接看来也都要看几个别的组合,没有维持长连接显然不合理的。在没有部点的idc,压缩就能明显的提升响应 速度,这里就没考虑。那个cookie太长点了吧,真的用的了那么长吗。


http://vip.stock.finance.sina.com.cn/portfolio/stock.php?rn=1228707043897&pid=1245111&type=complete
----------------------------------------------------------------------------------------
GET /portfolio/stock.php?rn=1228707043897&pid=1245111&type=complete HTTP/1.1
Host: vip.stock.finance.sina.com.cn
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: CurrentBar=attend; CurrentTab=state; CombinationSelected=154148; CommisionCookie=0; StampCookie=0; FeeCookie=0; BX=7t1oh653u6qvb&b=3&s=4k; SINA_NEWS_CUSTOMIZE_city=%u5317%u4EAC; userId=C7DHwoAi-ryCr69CGgyc3czekbyphdy5h

cxQNhFcN6zCNe; FINA_VISITED_S=sh601988|-y?L,sh580989|W*JTP1,sh601988|-y?L,sh601988|-y?L,sh580989|W*JTP1,sh601988|-y?L,sh601988|-y?L,sh601988|-y?L,sh580989|W*JTP1; Iask2_visitID=10.217.21.44.177601199668733612; UNIPROCT=342-0-0:2; hold_sinabar_name=iyangjian2005997; UNIPROPATH=2:iyangjian2005997:0::1:|*|202.112.174.100.97191204115419966|pid:342-0-0-0-0|classad.sr/|st:25.906|et:1204118703312||hp:unkown|lb:1|*|; SINAPUID=10.217.21.64.250871201592749264; vjuids=-5600fbe60.117402dbc5e.0.42a2debdf9f46; VISITED_FANCHAN_SINA_ZHANGYQ=SINA_BEIJING; S_WC_USRTOK=SFyLe9; stat=0806201608589720436533; MY_STOCK_LIST_2=sh600602; visited_futures=SI%7CCL%7CGC%7CCAD%7CTRB%7Cau0812%7CCC%7CPBD%7CCF907%7CNID; SINA_FINANCE=iyangjian2005997%3A1181509184%3A2; visited_funds=000011%7Csh000011%7C159902%7C160314%7C377016%7C270005%7C202009; SINA_FINANCE_SELECT_TYPE=stock; vjuid=-12b4fad5c.1174d78e8a5.0.6099c257a27eb; vjlast=1199616063; vjlast=1199616063,1228706963,10; sina_sort_default=117; SHOW_TIP_BOX=1; FINA_V_S_2=sz000609,sz000723,sh000001,sz002242,sz002274,sz000049,sz002272,sh600432,sh601186,sh601390,sh600036,sz000625; hk_visited_stocks=HSI%7C04338%7CHSCEI%7CHSCCI; visited_cfunds=050007%7Csz161010; __utma=269849203.390390911.1226996335.1226996335.1226996335.1; __utmz=269849203.1226996335.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); SINAGLOBAL=202.112.174.100.224381203683121713; Apache=202.112.174.100.771641228691763829; SessionID=e9bc0f217040ae10439d85f422f3187a; SINA_PORTFOLIO=sz000514%2Csh600729%2Csh600438%2Csh600528%2Csh600678%2Csh600877%2Csh600039%2Csh601005%2Csh600875%2Csz001696%2Csz000628%2Csh600116
Cache-Control: max-age=0

HTTP/1.x 200 OK
Date: Mon, 08 Dec 2008 03:32:52 GMT
Server: Apache
Cache-Control: no-cache
Expires: Mon, 08 Dec 2008 03:34:52 GMT
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=GBK
----------------------------------------------------------------------------------------


如果不是这几个资源的引用,这个页面的速度将非常快。


这里引用了某些未在教育网部署的服务,导致半天出不了数据。



由于引入了mark.sina.com.cn的数据导致整个页面卡在那里。引用别人数据的时候你了解过他们是怎么分布自己服务的吗?可能稍有不慎拖垮整个页面。


二,NBA比赛分析


这里的js真的有必要每次都发起请求吗?连续请求3同域个资源,为什么不维持下长连接?



这些图片的304响应为什么都在秒级以上?

三,播客分析



这些图片和视频由于解析错误,教育网用户被解析到广州服务器组,导致不可访问。


四,开心网分析

打开开心网,看到最多的就是人物图片,我就仅仅针对图片进行下分析:

1,浏览一个新人的页面,大概要下载30~40张小图片。使用单一的pic.kaixin001.com域名,不能提高并发,可以考虑多域名取模。
2,图片请求带了cookie,上行带宽浪费点无所谓,但是会影响响应速度和用户体验。
3, /logo/10/51/50_105146_1.jpg ,他们设置了一个比较大的maxage,通过改名来实现更新大可不必,我用我的方法更好。
4,每次点刷新页面,都会重新加载很多图片,虽然很多是304,我觉得绝大部分就不应该发这个请求。
5,他用的是ChinaCache的CDN,Server: nginx,我不知道ChinaCache对这个server修改到什么程度。统计发现这个人物小图片大都在2k左右。很多才1k多。没有必要把他们当作图片处理。尽量不产生磁盘i/o,包括fstat这样的系统调用,甚至sendfile这样的zero copy系统调用,我觉得都浪费. 同时还要保证图片更新立刻被感应到。  

其他方面还有很多可以改进的,想让他们的页面响应速度上一个等级,节约更多带宽和服务器资源并非难事。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_892039.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站性能优化--系统架构篇

转自:http://blog.sina.com.cn/s/blog_466c66400100bi2x.html --提升性能的同时为你节约10倍以上成本 From: http://blog.sina.com.cn/iyangjian 一,系统部署(高并发,可扩展) 二,负载均衡LVS(高可用,低成…

网站性能优化--服务器编写篇(下)

--提升性能的同时为你节约10倍以上成本 From: http://blog.sina.com.cn/iyangjian 七,NBA js直播的发展历程 这一节就谈下这个项目发展过程中所遇到的瓶颈,以及如何解决的。 应该是06年吧,当时NBA 比赛比较火,woocall负责高速模式图文直播…

盘点美国7大团购网站:运营模式各有差异

导语:据国外媒体周日报道,最近团购网站和其他一些提供打折服务的企业备受瞩目,尤其是该市场的领头羊Groupon,正在以飞快的速度在全球主要城市扩张。也许是团购模式易于理解,Groupon的竞争对手和模仿者都在跃跃欲试&…

HTML基础7--文档与网站架构

本文首发公众号: 伊洛的小屋,欢迎关注并查看更多内容!!! 文档的基本组成 一个页面通常由一下几个部分组成:页眉、导航栏、主内容、侧边栏、页脚 例如:下面的页面布局 构建内容的 在HTML中 …

服务器IIS架设网站无法增加log文件

小慕 遇到的是在IIS 架设网站之后,程式本地运行时会在指定文件夹写下程式运行的log 档,但是服务器会报错无法运行; 经查资料,发现是指定文件夹(文件名Log)的权限未分配给IIS _IUSRS,分配之后即…

网站设计与开发流程图

转载于:https://www.cnblogs.com/wy811007/p/4160016.html

分享6个AI绘画网站

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 1、Midjourney 特点:业内标杆,效果最强大 Midjourney是基于diffusion的AI图画艺术生成器。生成图片不局…

servlet学习笔记1——用户登录网站(servlet1.0)

一、框架描述 登录页面:Login.java 验证页面:LoginCl.java 欢迎界面:Wel.java Login.java发出登录请求,Login.java进行验证,合法则进入Wel.java,不合法返回Login.java 二、参考代码 Login.java packag…

servlet学习笔记7——网站框架的改进

(三)网站框架的改进 之前的程序设计不合理,因为其将界面和业务逻辑放在一起(moddel1模式),存在以下问题:1.在LoginCl.java文件和Wel.java文件中都操作了数据库,它们的逻辑相似&…

用springBoot与dubbo、 zookeeper、redis整合做了一个弹幕网站

系统采用eclipse 开发,jdk1.7 ,数据库采用的是mysql 源码下载地址:http://java.goodym.cn/html/1506574390095.html 网站预览地址:http://malimali.goodym.cn

开发者必备:测试网站速度的五个免费在线工具

摘要:网页性能很大程度上决定了用户体验,最终可以决定网站的成功。虽然大家都知道提高浏览速度的重要性,可很多时候不知道什么元素拖了后腿。本文将介绍测试网站速度的五个免费在线工具,帮你设计出高效的网站。 如果你认为一个网站…

移动开发者的自学宝典:十大在线编程学习网站

目前的教育领域,受移动互联网的冲击,MOOC的理念正在风行,但事实却稍显疲软,不尽如人意。相比美国式的全民热衷,国内的线上教育却还流于形式。其他教育尚且如此,移动开发教育更不用谈。在这种情况下&#xf…

网站用户单点登录系统解决方案

网站用户单点登录系统解决方案 1 背景   在网站建设的过程中,多个应用系统一般是在不同的时期开发完成的。各应用系统由于功能侧重、设计方法和开发技术有所不同,也就形成了各自独立的用户库和用户认证体系。随着网站的发展,会出现这样的用…

计算机毕业设计Springboot+vue的网络购物商城网站(源码+系统+mysql数据库+Lw文档)

一、项目运行 开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架:springbootvue 目前许多人仍将传统的纸质工具作为信息管理的主要工具,而网络技术的应用只是起到辅助作用。在对网络工具的认知程度上&…

wordpress建站如何用SMTP配置邮件通知

前提条件:你已经有了企业邮箱,相关文章请看:如何开通阿里云企业邮箱免费版(点此前往) 不建议使用主机商提供的邮箱,因为换主机商是比较常见的事情,因此导致的邮箱迁移就有些麻烦了,…

网站如何开通google search console

本文将介绍网站如何开通google search console(以下简称GSC),以分析网站的自然流量数据,例如:关键词、展示量、排名、点击率、外链等等。GSC能为网站的Google SEO运营工作带来极大的帮助,是必不可少的工具。…

如何给wordpress网站安装Google analytics跟踪代码

本文将介绍如何给wordpress网站安装google analytics,用于跟踪网站的用户数据。 前提条件:你已拥有google账号;你的网站使用wordpress创建的。 创建google analytics账号 访问https://analytics.google.com/analytics/web/,点击…

如何在siteground给网站启用cloudflare CDN

Siteground为托管的wordpress网站提供了cloudflare免费版全球CDN的快捷开通功能,CDN是加速网站以降低网站加载时间的重要功能。本文基于如下前提条件: 域名的NS是指向siteground的,请在本站外贸建站教程中查看如何将域名NS指向Siteground。网…

如何在siteground中创建wordpress网站

本文将图文分步骤介绍如何在siteground中创建wordpress网站,如果你买的是growbig套餐,用下面的办法就可以创建多个不同域名的网站。 Step1:登录siteground后,按下图序号依次操作,点击new website创建网站。 Step2&…

如何在Siteground中给WordPress网站安装SSL证书

本文将一步步介绍:如何在Siteground中给网站安装Let’s encrypt SSL证书。 获取SSL证书 进入Siteground的site tools,进入Site》SSL manager 选择ssl为 let’s encrypt 点击get,等待安装完成后去启用 强制执行HTTPS 安装完成后在该界面能看…