找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 953|回复: 0

[转载] 分析网站应如何配置才能承受较大的访问量

[复制链接]
发表于 2013-1-15 15:26:49 | 显示全部楼层 |阅读模式 来自 LAN
  负载均衡技术是解决集中并发访问的核心技术,也是一种较为有效的解决网站大规模并发访问的方法。实现负载均衡技术的主要设备是负载均衡器服务器。例如,我们把网站部署到在两台不同的服务器之上(前提是要保证这2台或者多台服务器都可以正常运行网站程序),这几台服务器之间通过安装特定的软件实现负载均衡。那么,某个时刻,当网站面临大规模访问时,用户的请求会通过负载均衡程序,根据不同服务器的繁忙和资源情况,自动分配到处理性能最优的服务器上,从而将大规模用户产生的高并发访问均衡地分流到各个服务器上。这样就能大大减轻单台服务器处理高并发请求,确保整个网站系统面临高负载时的可靠性。

  我们需要根据应用服务器的性能和并发访问量的大小来规划应用服务器的数量。有一个使用原则是:单台应用服务器的性能不一定要求最好,但是数量一定要足够,最好能有一定的冗余来保障服务器故障。特别是,在高并发访问峰期间,适当增加某些关键应用的服务器数量。比如在某些高峰查询业务上,可以使用多台服务器,以满足用户每小时上百万次的点击量。

  这部分是程序层的问题,通常是由软件工程师进行负责,对SQL语句进行优化。我们可以采取的措施包括:对经常查询的数据库字段做索引、对数据库表进行分区操作(如对海量数据进行分区操作十分必要,例如针对按年份存取的数据,我们可以按年进行分区)、对数据库查询语句-SQL(减少冗余的数据库操作,提高查询效率)进行优化等。

  现在大多数大型网站都有使用缓存技术,把用户经常使用到的数据通过缓存(Cache)技术进行管理,从而减轻服务器重新请求的压力,提高网站的访问速度。缓存技术有很多,这里我个人根据实际的项目经验,可以将其分成2种,即数据缓存和页面缓存。

  所谓的是数据缓存,指的是数据库的数据不是直接传输,而是将数据调用到内存,然后从内存中读取,从而可以大大提高读取速度。数据缓存技术有很多的方案,这里由于开源、高性能等特点,建议使用Memcache来设置数据缓存技术来加速动态web应用程序,减轻数据库负载。

  页面缓存一定程度上是针对公共页面,静态化也是页面缓存的一种,将用户经常访问的页面在服务器的相应目录下生成静态页面,当用户再次访问时,不需要对服务器进行动态请求,而只需要对缓存下来的html页面直接读取,这样访问的效率就可以得到有效的提高。

  所谓的中间件,听起来会有点像很深的技术,其实就在我们身边,各位站长朋友经常在网站部署的时候用到的Apache、IIS、Tomcat、WebLogic都是中间件。中间件主要位于客户端/服务器的操作系统之上,负责计算机的资源管理和网络通讯。举个简单的例子,我们在部署JAVA项目的时候,通常都是用Tomcat中间件,那么Tomcat在默认情况下是不优化的,当在高并发的情况下,非常容易当机。关于Tomcat的优化给出以下几个建议(本人在实际项目开发过程中觉得较为重要的几点):①线程池优化;②启动占用内存优化;③日志输出优化;④HTTP压缩优化;⑤配置文件优化。


发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

▶专业解决各类DiscuzX疑难杂症、discuz版本升级 、网站搬家 和 云服务器销售!▶有偿服务QQ 860855665 更多精品应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )|网站地图

GMT+8, 2026-1-22 15:44 , Processed in 0.039872 second(s), 11 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表