时常看到高并发的问题,但高并发其实是最不需要考虑的东西。为何,他虚无缥缈,很少有网站真的需要这些东西,而且其中很多技术,其实你已经在用了。有这个意识就够了,不需要时刻盯着这个问题。只有很少的网站真的能达到高并发。
简单做一个归纳,从低成本、高性能和高扩张性的角度来说有如下处理方案:
1、HTML静态化
2、图片服务器分离
3、数据库集群和库表散列
4、缓存
5、镜像
6、负载均衡;一个典型的使用负载均衡的策略就是,在软件或者硬件四层交换的基础上搭建squid集群,这种思路在很多大型网站包括搜索引擎上被采用,这样的架构低成本、高性能还有很强的扩张性,随时往架构里面增减节点都非常容易。
下面也是一个牛人所做的总结,跟上面部分相同。
高并发时,性能瓶颈及当前常用的应对措施
1.数据库瓶颈。Mysql并发链接100
2.apache 并发链接1500
3.程序执行效率
1.有数据库瓶颈时,当前处理方案无外乎 主从,集群。增加cache(memcached).
如:手机之家新系统介绍及架构分享(http://www.slideshare.net/Fenng/ss-1218991?from=ss_embed)
就是在cache层做优化
又拍网架构(http://www.bopor.com/?p=652)
是以增加数据库,分表分库的方法解决。
Sina增加了mq(消息队列)来分发数据。
还有风站用了key-value的数据库。其实这可以理解成一个持久化的缓存。
2.apache瓶颈。
增加服务器。负载均衡。如sina的F5
由于进程数的限制。会把一些基本不变的代码挪出来放到单独的服务器。如css/js/图片。
国内成功的案例是tom的cdn
又如nginx的横空出世和squid的反向代理都是基于这个原因出来的。
3.php的执行效率。原因有多个。
1).本身的效率低。
解决的成功案例是Zend Optimizer 和 facebooke的hiphop
Taobao是把php代码编译成模块解决效率问题。
2). 数据库查询效率问题。如可能有order by ,group by 等Sql数据问题。
这个其实应该归结到数据库设计问题。
解决的办法是建立正确的索引。增加memcache.。
对like表 用专用的sphinx.和lucence 等搜索服务。
程序员都应该会用explain对sql语句作分析。
说到底。解决高并发就是上面所列技术,程序员要做的就是把每个技术具体实现。
分享到:
相关推荐
### ActiveMQ高并发处理方案详解 #### 一、引言 在现代分布式系统中,消息队列作为异步通信的核心组件之一,对于提高系统的吞吐量、降低响应时间和实现服务解耦等方面起着至关重要的作用。Apache ActiveMQ作为一款...
总的来说,.NET高并发解决方案结合了Entity Framework和RabbitMQ的优势,前者通过对象化操作简化数据库管理,后者通过异步消息处理降低了系统压力。这种组合方式不仅可以提升系统的响应速度,还能保证在高负载情况下...
在IT行业中,高并发解决方案是针对大量用户同时访问或操作同一系统、应用或服务时,保证系统稳定、高效运行的技术策略。高并发场景通常出现在互联网服务、电子商务、社交媒体、在线游戏以及大数据处理等领域。以下是...
因此,在设计高并发处理方案时,需要在性能和用户体验之间做出平衡。 10. 面向对象编程的概念:在示例代码中使用了面向对象编程的概念,比如对象锁(object_lock)来同步访问共享资源。这是保证在多线程环境下数据...
【IIS网站高性能高并发优化解决方案】 随着互联网项目的访问量逐渐增大,对于服务器的性能要求越来越高。在这种情况下,IIS(Internet Information Services)网站的优化显得尤为重要,特别是针对高并发场景。本文...
在探讨Java并发编程与高并发解决方案之前,我们首先需要理解几个关键概念:并发(Concurrency)、高并发(High ...此外,随着云计算和微服务架构的发展,如何在分布式环境下实现高并发处理也成为了当前研究的热点之一。
### JavaWeb并发编程与高并发解决方案 #### 一、并发编程概述 在现代软件开发中,尤其是对于基于JavaWeb的应用程序来说,面对大量的用户请求和数据处理任务时,高效的并发处理能力至关重要。并发编程旨在利用多...
学会高并发处理思路与手段,让跳槽面试从容不迫,并发与高并发是面试的重要考察点,常问面试问题与答案都在这里了! 无论面试还是实际开发,几乎都会涉及并发相关知识及高并发相关场景处理,如果你想系统的学习一下...
《高并发网站解决方案:应对海量数据处理挑战》 在当今数字化时代,互联网应用与服务面临着前所未有的挑战,尤其是高并发场景下的数据处理能力。本文基于《高并发网站解决方案.doc》的文档内容,深入探讨了在高并发...
### 高并发的常见应对方案 #### 一、理解高并发 在当今互联网时代,随着用户数量的激增和技术的进步,高并发已经成为了一个常见的技术挑战。所谓**高并发**,通常指的是在一个较短的时间内(比如几秒或几分钟),...
接着,文章对服务端的高并发处理方案进行了详细分析。在Linux环境下,主要有三种实现方式:多线程、线程池和IO复用模型。多线程模式允许服务端并行处理多个客户端请求,提高了处理效率。Linux提供了如pthread_create...
### 架构层面高并发解决方案 #### 基本概念 在探讨高并发解决方案之前,首先需要明确几个关键概念。 - **并发**:在操作系统中指的是一个时间段内多个程序同时处于运行状态,但在任何给定时刻只有一个程序在...
在电商相关产品开发中,我们需要根据业务场景预估达到的并发量等因素,来设计适合自己业务场景的高并发处理方案。 服务器架构是支持高并发的关键组件,需要有均衡负载、数据库需要主从集群、NoSQL缓存需要主从集群...
在构建高并发、高可用的网站架构时,面临的关键挑战是如何处理大量的用户访问和并发请求。以下是一些针对高并发设计和集群设计的核心知识点: 1. **HTML 静态化**: - 静态HTML页面是性能最优的选择,因为它减少了...
高并发是指在同一个时间点,有很多用户同时访问URL地址,比如:淘宝的双11、双12,就会产生高并发。又如贴吧的爆吧,就是恶意的高并发请求,也就是DDOS攻击。服务端:导致站点服务器/DB服务器资源被占满崩溃,数据的...
### Java并发编程与高并发解决方案知识点总结 #### 一、并发与高并发基本概念 ##### 1.1 并发 - **定义**: 指一个程序在同一时刻拥有两个或更多的线程,这些线程可以在单核或多核处理器上运行。 - **单核处理器上...
在构建大型高并发的网站时,开发者面临的主要挑战是如何处理大量用户同时访问并请求服务的情况。高并发场景下的网站设计需要考虑系统性能、稳定性、可扩展性和资源优化等多个方面。以下是一些关键的知识点和解决方案...