
性能优化
尹自强
这个作者很懒,什么都没留下…
展开
-
网站大并发处理解决方案
一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是转载 2012-09-30 00:18:34 · 641 阅读 · 0 评论 -
SQL SERVER BACKUP DATABASE 加快备份速度方法
很多SQL SERVER DBA 在备份的时候,一般的撰写格式,都是如下BACKUP DATABASE AdventureWorksTO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'WITH FORMAT,CHECKSUM;对于比较大的数据库,备份时间比较长,最近在研究了BACKUP DATABASE 参数后,发现可以通转载 2014-04-21 16:53:39 · 1153 阅读 · 0 评论 -
浅谈千万级PV/IP规模高性能高并发网站架构
文章架构简图: 高并发访问的核心原则其实就一句话“把所有的用户访问请求都尽量往前推”。如果把来访用户比作来犯的"敌人",我们一定要把他们挡在800里地以外,即不能让他们的请求一下打到我们的指挥部(指挥部就是数据库及分布式存储)。如:能缓存在用户电脑本地的,就不要让他去访问CDN。 能缓存CDN服务器上的,就不要让CDN去访问源(静态服务器)了。能访问静态服务器的,就不要去访问动态转载 2013-05-27 10:20:22 · 599 阅读 · 0 评论 -
高性能的大型系统经验 -- 数据查询与分页
本文讨论针对大型数据表(记录数2千万以上)进行数据查找与分页的可行的高效方案。 首先,恰当的索引是必须的。 没有索引的支持,在大数据表中进行查询是不可思议的。关键点在于如何创建索引?1.建立正确的聚集索引(clustered index)。由于聚集索引的叶子节点就是记录本身,所以选择哪个索引为聚集索引非常关键。通过聚集索引扫描记录更快。2.根据你的系统的需求总结常用转载 2013-03-14 14:57:49 · 503 阅读 · 0 评论 -
高性能的大型系统经验 -- 将数据分类、并缓存
对大多数大型系统而言,数据库往往是最容易出现瓶颈的地方,而通过使用恰当的缓存技术可以非常有效地减轻数据库的负载。 将系统中用到的所有数据进行分类,分别对待不同种类的数据而不是一视同仁,有利于正确地做出缓存哪些数据、以及如何缓存的决策。 我通常将系统中用到的数据分为四类:恒定不变的数据,只发生增量的数据,偶尔改变的数据,经常改变的数据。 (1)对于恒定不变的转载 2013-03-14 15:00:36 · 416 阅读 · 0 评论 -
浅谈网络语音技术
当我们使用像Skype、QQ这样的工具和朋友流畅地进行语音视频聊天时,我们可曾想过其背后有哪些强大的技术在支撑?本文将对网络语音通话所使用到的技术做一些简单的介绍,算是管中窥豹吧。一.概念模型 网络语音通话通常是双向的,就模型层面来说,这个双向是对称的。为了简单起见,我们讨论一个方向的通道就可以了。一方说话,另一方则听到声音。看似简单而迅捷,但是其背后的流程却是相当复杂的。我们将转载 2013-03-14 15:05:19 · 589 阅读 · 0 评论 -
Java编程中“为了性能”尽量要做到的一些地方
最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例转载 2013-01-07 21:27:14 · 282 阅读 · 0 评论 -
什么才是高性能的SQL语句
1、首先要搞明白什么叫执行计划? 执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生欀如一条SQL语句如果用来从一个10万条记录的表中查1条记录,那查询优化器会选择“索引查找”方式,如果该表进行了归档,当前只剩下5000条记录了,那查询优化器就会改变方案,采用 “全表扫描”方式。 可见,执行计划并不是固定的,它是“个性化的”。产生一个转载 2012-12-25 10:42:44 · 348 阅读 · 0 评论 -
聚集索引和非聚集索引
聚集索引适用情况 1、含有大量非重复值的列。 2、使用BETWEEN,>,>=,<或<=返回一个范围值的列 3、被连续访问的列 4、返回大型结果集的查询 5、经常被使用连接或GROUP BY子句的查询访问的列 下面的表总结了何时使用聚集索引或非聚集索引:动作描述使用聚集索引使用非聚集索引列经常被分组原创 2012-12-25 12:03:47 · 344 阅读 · 0 评论 -
一步步构建大型网站架构
一步步构建大型网站架构 之前我简单向大家介绍了各个知名大型网站的架构,MySpace的五个里程碑、Flickr的架构、YouTube的架构、PlentyOfFish的架构、WikiPedia的架构。这几个都很典型,我们可以从中获取很多有关网站架构方面的知识,看了之后你会发现你原来的想法很可能是狭隘的。 今天我们来谈谈一个网站一般是如何一步步来构建起系统架构的,虽然我们希望网站一开始就能有转载 2012-11-21 12:19:46 · 208 阅读 · 0 评论 -
List<T>与IList<T>的区别
IList是个泛型接口,定义了一些操作方法,这些方法要你自己去实现。List是个泛型类,已经实现了IList定义的那些方法。List比IList拥有更多的方法,如果仅用来做数据集合,用IList就行,如果还需要更多的对集合进行操作,用List。IList泛型接口是ICollection泛型接口的子代,并且是所有泛型列表的基接口。它仅仅是所有泛型类型的接口,并没有太多方法可以方便实用,如转载 2012-11-14 09:45:21 · 350 阅读 · 0 评论 -
大型系统架构演化
互联网系统一般会有几个特色标签:用户基数大、高并发高访问量、海量数据存储、业务更新频繁。看似复杂的系统也不是一蹴而就,任何事情都会经历一个由小到大的发展过程。今天我们就来看看一个系统是如何随着业务的扩张而不断演化的。1. 早期的系统由于业务简单,应用服务器和数据库都是在一台服务器。2. 随着用户访问量逐渐增大,系统资源慢慢成为瓶颈。此时可以考虑将应用服务器转载 2014-04-29 10:48:27 · 433 阅读 · 0 评论