当前位置:首页 > 站长经验 > 正文内容

分享高性能网站构架的7个方面,

a811625534年前 (2022-05-07)站长经验21

 

一、优化网站响应时间的架构方案:

网站能不能留的住用户,一方面是看内容,另一方面是看响应时间。通常有以下几个方式来降低网站响应时间:

1、减少HTTP请求。包括合并css和javascript。减少图片数量,比如利用css的偏移技术来在一个图片中选择不同的位置内容。利用浏览器的Cache功能,我们可以在头中声明是否被浏览器缓存。

2、动态内容静态化。比如永久生成HTML文件。生成静态文件并设定生存时间,到期后查询新的动态内容进行替换。

3、优化数据库。数据库的性能对于项目整体性能中是重中之重。设计良好的Mysql比乱糟糟的Mysql性能高出N个数量级,更别论再引入NOSQL了,比如Redis,MongoDB。

4、使用负载均衡。将请求合理的分发到更多服务器。

5、使用缓存。把花费时间和资源成本高昂的计算结果取出缓存起来,避免重复计算。比如在Mysql前面挡一层Memcached。比如生成一个文件,使用的时候include进来。再比如PHP中的OPCACHE等。

二、压力测试的架构方案:

吞吐率是指单位时间内处理的请求数,单位reqs/s。更大吞吐率是指单位时间内能够处理的更大请求出。模拟足够多的人数和并发请求来测试更大吞吐率的 *** 叫做压力测试。比如Apache自带的ab(Apache Bench)。ab的参数很多,常用的有请求数(-n),并发用户数(-c),超时时间(-t),长连接(-k),附件一个Cookie(-c name=value)

$ab -c 10 -n 1000 http://localhost/

三、长连接的架构方案 : 每次请求都需要TCP的三次握手,握手完比表示连接正式联通,之后再发送数据。那么,把N个请求,就需要3N次握手,传递N次数据,得到N次响应,总共5N。如果把N个请求合成一个请求,就是3次握手,1次传递数据,1次返回响应,共5次。但是,有时候我们需要上一次响应的返回结果来发送新一轮的请求,在这个时候,合并请求并不好实现,这就需要长连接。使用起来很简单,在头中包含如下:

Connection: Keep-Alive

客户端和服务器端都可以设置长连接的更大时间,当两者不统一时以小的一方为准。开启长连接后进行压力测试:

发现提升不止三五倍。本机是提升了8倍的性能。

四、提高Mysql的响应速度的架构方案 : Handlerocker是日本的一位架构师开发。Mysql的一种插件。Handlerocker实现了绕过Mysql的SQL解析层。在Mysql5.1以上版本可以使用,详情可以查看Mysql手册。这里就不在阐述。

五、Mysql主从复制的架构方案 : 在分布式部署中,1台主库,N台从库。主库只写,从库只查。主库从库数据需要实现统一,这就是主从复制。

优点是: 1、从库备份时,主库可以继续处理更新。

2、优化响应时间。 3、增加健壮性。主库挂了可以切换到从库作为备份。 主从复制的实现过程有三步,1个在主库,2个在从库:

1、主库服务器将用户对数据库更新的操作以二进制格式保存到Binary Log日志文件。然后Binlog Dump线程将Binary Log日志文件传输给从库服务器。

2、从库服务器通过一个I/O线程将主库服务器的Binary Log日志文件中的更新操作复制到一个叫做Relay Log中的中继日志文件中。

3、从库服务器通过另一个SQL线程Relay Log中继日志文件中的操作依次在本地执行,从而实现主从数据库之间数据的同步。 本篇只是简单的列出方案,详细的配置和实现步骤将在另一篇中写到。

六、 *** 的架构方案 : 读取内存的速度是读取硬盘的100000-1000000倍。把访问过的页面缓存在内存中,下次直接从内存中读取,可以有效加速。 1、传统 *** 。客户端发送请求给 *** 服务器, *** 服务器向WEB服务器取到数据并返回给浏览器。 *** 服务器就是一个有大的存储空间的Cache。 2、反向 *** 。和传统 *** 原理类似,只是使用对象不同。传统 *** 的使用对象是客户端,反向 *** 的使用对象是服务器。用户通过反向 *** 访问Web服务器,Web服务器是隐藏起来的。不过用户不关心这些,权把 *** 服务器当作真实的Web服务器。反向 *** 有Vamish。

七、异步计算的架构方案 : 比较耗时的比如将用户上传的文件分发到多台机器,比如裁剪图片,视频转码等。可以使用异步方案。让用户无须等待计算结束而是先行返回结果。代表产品有和Memcache同一家的Gearman。关于Gearman的使用可以查看PHP手册。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/14955.html

分享给朋友:

“分享高性能网站构架的7个方面,” 的相关文章

一个不是站长的站长的网络自序,一个不是站长的站长的网络自序

一个不是站长的站长的网络自序,一个不是站长的站长的网络自序

  我是高三的时候才开始上网的,是不是很落伍 ,呵呵.  因为我们那里条件有点落后,加上平时学习很忙.  到高三的时候压力特别大,然后在同学的影响下  频繁出入网吧. 天天通宵,当时很傻,什么网络知识都没有  两个IC...

特色站长传奇录一:庞升东的简单生意人逻辑,特色站长传奇录一:庞升东的简单生意人逻辑

特色站长传奇录一:庞升东的简单生意人逻辑,特色站长传奇录一:庞升东的简单生意人逻辑

  庞升东语录:——每推荐一个人才给我,我就给伯乐10万块,好的人才我还需要10个。----记忆里面没有什么特别(失败和惨痛)的事,一路很自然的就走过来了。----(关于江湖风传的9991的一些方法)我们(9991.com)只是乱中添乱,相对与各大网站的做法,我们还是相当光明的。----在51....

去秀员工写的站长故事,去秀员工写的站长故事

去秀员工写的站长故事,去秀员工写的站长故事

  这是一篇很难得的博客文章 ,一个自己说文笔不好,但是字里行间对公司深情的员工 ———————————————————————————— 看到很多朋友写博客在介绍自己的站,我虽然文笔不好,但是也时常有这种冲动,想把心里面的一些想法,或者自己的作品能让更多人去了解和指出不足的地方。 很荣幸加...

草根站长感伤,草根站长感伤

草根站长感伤,草根站长感伤

                         前言  &nb...

站长网与百度知道互联网合作并担任知道专家,站长网与百度知道互联网合作并担任知道专家

站长网与百度知道互联网合作并担任知道专家,站长网与百度知道互联网合作并担任知道专家

  站长网(www.admin5.com) 与百度知道互联网(zhidao.baidu.com) 紧密合作,一起解决更多互联网方面的问题。给更多的站长和网络人解决问题。服务于互联网作努力本站站长 图王 也荣誉为百度知道知识专家团的一员。为更多的朋友解决网络问题 希望大家继续支持 站长网 支持 百...

个人网站女站长No1:萱萱吧,个人网站女站长No1:萱萱吧

个人网站女站长No1:萱萱吧,个人网站女站长No1:萱萱吧

      在02年的时候,我还对flash 与图片分不清区别的时候,有一个朋友就告诉我。他看flash 天天上萱萱吧(www.xuanxuan.com)。作为一个站长的我,对个人网站的信息更为关注。虽然每天很少时间去听歌,看flash,但是萱萱吧的名字,从此深刻的...