浏览量比较大的网站应该从哪几个方面入手

2023-11-07 17:32

本文主要是介绍浏览量比较大的网站应该从哪几个方面入手,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原贴:http://www.phpx.com/happy/viewthread.php?action=printable&tid=135353

标题: [问题] 浏览量比较大的网站应该从哪几个方面入手? [打印本页]

作者: 游戏人间    时间: 2007-6-15 04:23 PM     标题: 浏览量比较大的网站应该从哪几个方面入手?

当然,提问前先将个人的一些理解分享。大家有的也请不吝共享,偶急切的需要这方面的经验....

下面所提到的主要是针对一般的网站,不包括下载或聊天室等特殊站点...

一、减少数据库的压力

  缓存查询结果/建内存表

二、 减少Apache的压力——减少HTTP的请求次数

  背景图片全部做成一张然后用CSS控制位置/不使用AJAX来进行即时验证(不考虑客户体验什么的,通过拖长客户时间来减轻服务器压力)

三、减轻I/O压力

  页面局部缓存
作者: zeying    时间: 2007-6-15 04:34 PM

关注。。。。
作者: 游戏人间    时间: 2007-6-15 05:16 PM

顶起
作者: 蟋蟀    时间: 2007-6-15 05:29 PM

咱也说点,只是理论,不知道对不对.
流量大的网站咱没做过.
一横向
1\首先要考虑的就是硬件,适当的投入硬件,要比你搞那么多软件优化要实惠的多.
2\在就是从cpu 内存 硬盘 了.频繁操作的数据能存到内存中就存到内存中,能存到分布共享中就存储在分布共享内存中
其次考虑在考虑硬盘上.

二纵向
1\从web的http的响应 应答考虑
web要有服务器,所以如何优化服务器,如何通过配置服务器加速操作,能缓存的缓存,这方面的东西不少。
2、要是动态脚本,考虑使用的数据库 如何优化数据库、如何建立合理的表等操作 这方面细节同样不少
3、用php脚本,尽量少的require 文件,毕竟每次php是一次性编译,而且每次到require都要返回 这个脚本方面的就要看程序员的水平了

还有很多
作者: yanglei1979    时间: 2007-6-15 06:02 PM

我也觉得这个问题比较值得讨论

1,写程序的时候,算法尽量做到优化,在满足功能的条件下尽量减少代码的执行

2,安排数据结构的时候,能用整型的,就不用字符型的

3,注意优化SQL查询语句

4,一些已经定下来的分类名什么的,就不要每次从数据库内调用了

5,服务器中PHP,MYSQL,APACHE模块安装和配置的时候,模块和参数尽量做到最优化的配置,(当然这个应该比较困难了,要有经验才行.)


这是我觉得的几点,下面的继续吧.
作者: 细雨清风    时间: 2007-6-15 06:18 PM

学到不少东西,你们继续,新手学习。。。
作者: ywd    时间: 2007-6-15 06:32 PM

gzip squid cache 。。。。。。。。
作者: 槛外人    时间: 2007-6-15 06:39 PM



QUOTE:
原帖由 蟋蟀 于 2007-6-15 05:29 PM 发表
3、用php脚本,尽量少的require 文件,毕竟每次php是一次性编译,而且每次到require都要返回 这个脚本方面的就要看程序员的水平了
PHP不是解释型的?   对require的效率不太了解, 不过做稍微大点的系统,好像不require不行
作者: xiajialin    时间: 2007-6-16 09:12 AM

我是新手我学习。耶!
作者: 风在芯中    时间: 2007-6-19 11:14 AM

Web访问负载均衡

WEB缓存服务器组
WEB服务器
DB缓存服务器组
DB服务器

有钱就这么搞
作者: wzhu    时间: 2007-6-19 11:21 AM



QUOTE:
原帖由 风在芯中 于 2007-6-19 11:14 发表
Web访问负载均衡

WEB缓存服务器组
WEB服务器
DB缓存服务器组
DB服务器

有钱就这么搞
有钱可以搞集群。多线路。

有钱好办事
作者: robin830421    时间: 2007-6-19 11:55 AM

不错  观察中
作者: yanzhitou    时间: 2007-6-19 04:03 PM

只能帮你顶起来,别的帮不上了。
作者: 游戏人间    时间: 2007-6-19 04:20 PM



QUOTE:
原帖由 wzhu 于 2007-6-19 11:21 发表

有钱可以搞集群。多线路。

有钱好办事
我想说的是同等硬件条件下程序方面应该什么下手效率更高,误解我的意思了。
作者: fcicq    时间: 2007-6-19 09:30 PM

好久没出来了,难得碰上一篇可以回的帖子

一、减少数据库的压力
  缓存查询结果/建内存表

有条件就把数据库尽量分开,减小数据库规模
杜绝超过0.5s的 queries - 非常重要!
开大内存索引

二、 减少Apache的压力——减少HTTP的请求次数
  背景图片全部做成一张然后用CSS控制位置/不使用AJAX来进行即时验证(不考虑客户体验什么的,通过拖长客户时间来减轻服务器压力)
背景图片?这个没必要.
静态内容不要用apache!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

三、减轻I/O压力
  页面局部缓存
作者: niohe    时间: 2007-6-19 11:06 PM

楼上的不用apache怎么访问呢?求教
另外俺是个菜鸟说2个简单的 呵呵
少用 正则和递归等效率低的技术
少查点数据库
作者: qqlyj    时间: 2007-6-19 11:55 PM

坐着看,我写的每个文件都有require啊,,晕倒
作者: pangmen    时间: 2007-6-20 12:34 AM

首先来个服务器集群,再加个磁盘阵列,再来个数据库集群
作者: 游戏人间    时间: 2007-6-20 04:35 AM



QUOTE:
原帖由 fcicq 于 2007-6-19 21:30 发表
二、 减少Apache的压力——减少HTTP的请求次数
  背景图片全部做成一张然后用CSS控制位置/不使用AJAX来进行即时验证(不考虑客户体验什么的,通过拖长客户时间来减轻服务器压力)
背景图片?这个没必要.//你啥知道没这个必要,我上次也是听他们几个人的意见说这样比较好,而且使用典范是腾讯,其它网站我还没注意过
静态内容不要用apache!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//难道说图片的下载不用经过APACHE
背景图片?这个没必要.

// 我上次也是听他们几个人的意见说这样比较好,而且使用典范是腾讯,其它网站我还没注意过

// 这么说吧,同样是背景图片你用的是一百张(夸张点的说),我用的是一张.那么一个是100个HTTP请求,一个是1个请求.

静态内容不要用apache!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

// 难道说图片的下载不用经过APACHE

// 这个不可能吧,如果你服务器上不装APACHE其它人还能浏览图片不成.上面我所提到的背景做成一张就是这样,如果是一百张那么客户端就向APACHE发出一百个请求...
作者: leobok    时间: 2007-6-20 07:16 AM

先学好PHP再说。。。
作者: ¥    时间: 2007-6-20 08:57 AM



QUOTE:
原帖由 游戏人间 于 2007-6-20 04:35 AM 发表


背景图片?这个没必要.

// 我上次也是听他们几个人的意见说这样比较好,而且使用典范是腾讯,其它网站我还没注意过

// 这么说吧,同样是背景图片你用的是一百张(夸张点的说),我用的是一张.那么一个是100个 ...
问题是一次请求1M的图和1M分开十次来load,效率谁优谁劣还有待考究吧?

不用apache,估计是用lighttpd,听说这东西做静态的web server是很不错的...
作者: wzj0518    时间: 2007-6-20 09:05 AM

学习学习!!
楼上是前台?
不过方法很好!

[ 本帖最后由 wzj0518 于 2007-6-20 09:12 AM 编辑 ]
作者: 游戏人间    时间: 2007-6-20 10:05 AM



QUOTE:
原帖由 于 2007-6-20 08:57 发表

问题是一次请求1M的图和1M分开十次来load,效率谁优谁劣还有待考究吧?

不用apache,估计是用lighttpd,听说这东西做静态的web server是很不错的...
问题是一次请求1M的图和1M分开十次来load,效率谁优谁劣还有待考究吧?

// 确实是这样,但就背景而言,不可能有1M,就一般的网站(新浪什么的),背景图片都很小.至于一次请求快还是多次请求快,这个没研究过.我的想法是每一次请求都会有一定的时间延时.

不用apache,估计是用lighttpd,听说这东西做静态的web server是很不错的...

// 对于一般的情况下还是装的APACHE,你所说的lighttpd还是头不回听说,不知道是不是跟APACHE一样的东西
作者: wzhu    时间: 2007-6-20 11:21 AM

lighttp占用内存小,效率高,相比apache是轻量级的web服务器
如果网站是纯静态网页,可以考虑这个
作者: 游戏人间    时间: 2007-6-20 11:23 AM



QUOTE:
原帖由 wzhu 于 2007-6-20 11:21 发表
lighttp占用内存小,效率高,相比apache是轻量级的web服务器
如果网站是纯静态网页,可以考虑这个
这就难了,纯静态的网站几乎不存在了.
作者: ¥    时间: 2007-6-20 11:59 AM

可以lighttp+apache配合的...lighttp负责静态的如image,js,css等,apache负责php,用rewrite转发到lighttp
甚至有研究表明,lighttp处理fastcgi模式下的php,要比apache等要快
性能上,lighttp是要优于apache的,但稳定性就差点..
作者: sigmazel    时间: 2007-6-20 12:49 PM

WEB方面:
1.脚本引用的资源文件如css,js,image可以多放几台服务器上,尽可能的压缩。
2.适当的加入ajax
3.尽量控制php的代码行,如果方便的话,可以写成com或so级的
4.缓存
作者: php5    时间: 2007-6-20 06:55 PM

考虑硬件成本的话可以笼统地从以下着手

一、页面尽量静态化
二、配置服务器动态的走apache,静态的走Lighttpd
三、用最好的OS如FreeBSD
四、重点优化mysql性能从编译、配置上入手
五、最基本的控制好程序性能及SQL查询
六、做缓存、做代理反向代理
七、页面上的优化了,节省流量上的考虑

[ 本帖最后由 php5 于 2007-6-20 07:05 PM 编辑 ]
作者: yanglei1979    时间: 2007-6-20 07:37 PM



QUOTE:
原帖由 fcicq 于 2007-6-19 09:30 PM 发表
好久没出来了,难得碰上一篇可以回的帖子

一、减少数据库的压力
  缓存查询结果/建内存表

缓存查询结果,这项技术倒是很少听说,能举例说明下吗?

是不是把 mysql_query()函数换成另外一个函数呀,还是把 mysql_db_query()函数换成另外一个函数呀
作者: php5    时间: 2007-6-20 07:44 PM



QUOTE:
原帖由 yanglei1979 于 2007-6-20 07:37 PM 发表


缓存查询结果,这项技术倒是很少听说,能举例说明下吗?

是不是把 mysql_query()函数换成另外一个函数呀,还是把 mysql_db_query()函数换成另外一个函数呀
Adodb有这功能,不过有些鸡肋

通常重复并频繁利用的数据在查询完生成页面后    要么缓存整个页面,要么生成静态页
作者: Macaulay    时间: 2007-6-20 08:44 PM

关注.....
作者: 游戏人间    时间: 2007-6-20 08:57 PM

补充一句.如果一次数据统计:如某个表有多少条数据,这样小量数据量且不需要什么sql语句而是直接读取就可完成的数据不要放数据库直接放文本里能减少读取数据库的次数.
作者: php5    时间: 2007-6-21 08:13 AM

一般访问量较大的情况下,访问数据库的性能可能不比文本差
作者: 奶瓶    时间: 2007-6-21 10:52 AM

静态文件用apache的代价很大, 其实lighttpd和NGINX这类的也并不会小太多,有一些支持“文件至网卡”模式的特殊静态服务器可能划算一些。php的调用文件个数可以做到比较 精确的控制,tmpfs一类的方法可以尝试,不要过分迷信memcached,本地cache适当用用回保不错
作者: fengchen9127    时间: 2007-6-21 11:13 AM

优化数据库访问。
  前台实现完全的静态化当然最好,可以完全不用访问数据库,不过对于频繁更新的网站,静态化往往不能满足某些功能。
  缓存技术就是另一个解决方案,就是将动态数据存储到缓存文件中,动态网页直接调用这些文件,而不必再访问数据库,WordPress和Z-Blog都大量使用这种缓存技术。我自己也写过一个Z-Blog的计数器插件,也是基于这样的原理。
  如果确实无法避免对数据库的访问,那么可以尝试优化数据库的查询SQL.避免使用Select * from这样的语句,每次查询只返回自己需要的结果,避免短时间内的大量SQL查询。
     禁止外部的盗链。
 外部网站的图片或者文件盗链往往会带来大量的负载压力,因此应该严格限制外部对于自身的图片或者文件盗链,好在目前可以简单地通过refer来控制盗 链,Apache自己就可以通过配置来禁止盗链,IIS也有一些第三方的ISAPI可以实现同样的功能。当然,伪造refer也可以通过代码来实现盗链, 不过目前蓄意伪造refer盗链的还不多,可以先不去考虑,或者使用非技术手段来解决,比如在图片上增加水印。
    控制大文件的下载。
 大文件的下载会占用很大的流量,并且对于非SCSI硬盘来说,大量文件下载会消耗CPU,使得网站响应能力下降。因此,尽量不要提供超过2M的大文件下载,如果需要提供,建议将大文件放在另外一台服务器上。
   使用不同主机分流主要流量
   将文件放在不同的主机上,提供不同的镜像供用户下载。比如如果觉得RSS文件占用流量大,那么使用FeedBurner或者FeedSky等服务将 RSS输出放在其他主机上,这样别人访问的流量压力就大多集中在FeedBurner的主机上,RSS就不占用太多资源了。
   使用流量分析统计软件。
 在网站上安装一个流量分析统计软件,可以即时知道哪些地方耗费了大量流量,哪些页面需要再进行优化,因此,解决流量问题还需要进行精确的统计分析才可以。
作者: 游戏人间    时间: 2007-6-21 10:22 PM

继续关注中,广征意见.虽然有也在猛说,其实我并不知道我说的对不对
作者: deng0685    时间: 2007-6-21 10:31 PM

又学到了!!!
作者: 游戏人间    时间: 2007-6-22 05:09 PM

估計這貼是沒人回了,最後留個記念.
作者: php5    时间: 2007-6-22 07:28 PM

lighttpd 没有真正用过,也支持PHP,听谣言在静态访问方面要快上2-3倍

期待一种真正静态专用与优化的WEB服务器出现
作者: 奶瓶    时间: 2007-6-23 02:51 PM

kHTTPD一类的东西,还是挺有趣的
作者: isno    时间: 2007-6-23 03:24 PM

路过顶帖.
作者: red7    时间: 2007-6-23 10:52 PM

能静态的都生成静态
作者: 傻哥    时间: 2007-6-24 08:35 AM

学习一下~!
作者: thesea    时间: 2007-6-24 08:02 PM

我想知道为什么少用require呢?执行require会降低效率?为什么呢?那用include或require_once 呢?谢谢啊!
作者: fly512    时间: 2007-6-24 08:55 PM     标题: 转载一篇文章

【转载】Lighttpd+Squid+Apache搭建高效率Web服务器

架构原理
Apache通常是开源界的首选Web服务器,因为它的强大和可靠,已经具有了品牌效应,可以适用于绝大部分的应用场合。但是它的强大有时候却显得笨重, 配置文件得让人望而生畏,高并发情况下效率不太高。而轻量级的Web服务器Lighttpd却是后起之秀,其静态文件的响应能力远高于Apache,据说 是Apache的2-3倍。Lighttpd的高性能和易用性,足以打动我们,在它能够胜任的领域,尽量用它。Lighttpd对PHP的支持也很好,还 可以通过Fastcgi方式支持其他的语言,比如Python。

毕竟Lighttpd是轻量级的服务器,功能上不能跟Apache比,某些应用无法胜任。比如Lighttpd还不支持缓存,而现在的绝大部分站点都是用 程序生成动态内容,没有缓存的话即使程序的效率再高也很难满足大访问量的需求,而且让程序不停的去做同一件事情也实在没有意义。首先,Web程序是需要做 缓存处理的,即把反复使用的数据做缓存。即使这样也还不够,单单是启动Web处理程序的代价就不少,缓存最后生成的静态页面是必不可少的。而做这个是 Squid的强项,它本是做代理的,支持高效的缓存,可以用来给站点做反向代理加速。把Squid放在Apache或者Lighttpd的前端来缓存 Web服务器生成的动态内容,而Web应用程序只需要适当地设置页面实效时间即可。

即使是大部分内容动态生成的网站,仍免不了会有一些静态元素,比如图片、JS脚本、CSS等等,将Squid放在Apache或者Lighttp前端后, 反而会使性能下降,毕竟处理HTTP请求是Web服务器的强项。而且已经存在于文件系统中的静态内容再在Squid中缓存一下,浪费内存和硬盘空间。因此 可以考虑将Lighttpd再放在Squid的前面,构成 Lighttpd+Squid+Apache的一条处理链,Lighttpd在最前面,专门用来处理静态内容的请求,把动态内容请求通过proxy模块转 发给Squid,如果Squid中有该请求的内容且没有过期,则直接返回给Lighttpd。新请求或者过期的页面请求交由Apache中Web程序来处 理。经过Lighttpd和Squid的两级过滤,Apache需要处理的请求将大大减少,减少了Web应用程序的压力。同时这样的构架,便于把不同的处 理分散到多台计算机上进行,由Lighttpd在前面统一把关。

在这种架构下,每一级都是可以进行单独优化的,比如Lighttpd可以采用异步IO方式,Squid可以启用内存来缓存,Apache可以启用MPM 等,并且每一级都可以使用多台机器来均衡负载,伸缩性很好。
作者: axpwx    时间: 2007-6-25 01:00 AM

回复我没看玩,楼主的帖子只是从程序本身来考虑的,忽略了一个重要方面,其实服务器的优化也相当重要。            

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

这篇关于浏览量比较大的网站应该从哪几个方面入手的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/365208

相关文章

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

购买磨轮平衡机时应该注意什么问题和技巧

在购买磨轮平衡机时,您应该注意以下几个关键点: 平衡精度 平衡精度是衡量平衡机性能的核心指标,直接影响到不平衡量的检测与校准的准确性,从而决定磨轮的振动和噪声水平。高精度的平衡机能显著减少振动和噪声,提高磨削加工的精度。 转速范围 宽广的转速范围意味着平衡机能够处理更多种类的磨轮,适应不同的工作条件和规格要求。 振动监测能力 振动监测能力是评估平衡机性能的重要因素。通过传感器实时监

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte

速盾高防cdn是怎么解决网站攻击的?

速盾高防CDN是一种基于云计算技术的网络安全解决方案,可以有效地保护网站免受各种网络攻击的威胁。它通过在全球多个节点部署服务器,将网站内容缓存到这些服务器上,并通过智能路由技术将用户的请求引导到最近的服务器上,以提供更快的访问速度和更好的网络性能。 速盾高防CDN主要采用以下几种方式来解决网站攻击: 分布式拒绝服务攻击(DDoS)防护:DDoS攻击是一种常见的网络攻击手段,攻击者通过向目标网

关键字synchronized、volatile的比较

关键字volatile是线程同步的轻量级实现,所以volatile性能肯定比synchronized要好,并且volatile只能修饰于变量,而synchronized可以修饰方法,以及代码块。随着JDK新版本的发布,synchronized关键字的执行效率上得到很大提升,在开发中使用synchronized关键字的比率还是比较大的。多线程访问volatile不会发生阻塞,而synchronize

49个权威的网上学习资源网站

艺术与音乐 Dave Conservatoire — 一个完全免费的音乐学习网站,口号是“让每一个人都可以接受世界级的音乐教育”,有视频,有练习。 Drawspace — 如果你想学习绘画,或者提高自己的绘画技能,就来Drawspace吧。 Justin Guitar — 超过800节免费的吉他课程,有自己的app,还有电子书、DVD等实用内容。 数学,数据科学与工程 Codecad

编程应该用 Mac 还是 PC ?

『有人的地方,就有江湖』—徐克。笑傲江湖。     序     一个竞争的市场,就会有对立的产生,这世界存在著很多不同的领域,领域好比是个江湖的缩影,因此就有许多门派的纷争,例如说浏览器领域有著最大宗的IE派,门派成长速度飞快,武功版号跳的跟台湾物价指数一样快的Chrome门,不断被模仿,一直被超越的Opera派;韧性极强,一直对抗几大势力的Firefox派等等,程序语言也有自己的领域

BT天堂网站挂马事件后续:“大灰狼”远控木马分析及幕后真凶调查

9月初安全团队披露bt天堂网站挂马事件,该网站被利用IE神洞CVE-2014-6332挂马,如果用户没有打补丁或开启安全软件防护,电脑会自动下载执行大灰狼远控木马程序。 鉴于bt天堂电影下载网站访问量巨大,此次挂马事件受害者甚众,安全团队专门针对该木马进行严密监控,并对其幕后真凶进行了深入调查。 一、“大灰狼”的伪装 以下是10月30日一天内大灰狼远控的木马样本截图,可以看到该木马变种数量不

PHP抓取网站图片脚本

方法一: <?phpheader("Content-type:image/jpeg"); class download_image{function read_url($str) { $file=fopen($str,"r");$result = ''; while(!feof($file)) { $result.=fgets($file,9999); } fclose($file); re

使用WebP解决网站加载速度问题,这些细节你需要了解

说到网页的图片格式,大家最常想到的可能是JPEG、PNG,毕竟这些老牌格式陪伴我们这么多年。然而,近几年,有一个格式悄悄崭露头角,那就是WebP。很多人可能听说过,但到底它好在哪?你的网站或者项目是不是也应该用WebP呢?别着急,今天咱们就来好好聊聊WebP这个图片格式的前世今生,以及它值不值得你花时间去用。 为什么会有WebP? 你有没有遇到过这样的情况?网页加载特别慢,尤其是那