摘要:原文地址:http://blog.s135.com/nginx_php_v6/ 阅读全文
posted @ 2012-03-09 16:30 Falling Leaves 阅读(643) 评论(0) 推荐(0) 编辑
摘要:事务处理在各种管理系统中都有着广泛的应用,比如人员管理系统,很多同步数据库操作大都需要用到事务处理。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务! 删除的SQL语句delete from userinfo where ~~~delete from mail where ~~delete from article where~~~~ 如果没有事务处理,在你删除的过程中,假设出错了,只执行了第一句,那么其后果是难以想象的!但用事务处理。如果删除出错,你只要rollback就可以取消删除操作 阅读全文
posted @ 2012-02-21 17:55 Falling Leaves 阅读(111145) 评论(7) 推荐(4) 编辑
摘要:目 录1引言91.1互联网的发展91.2互联网网站建设的新趋势91.3新浪播客的简介112网络层架构122.1镜像网站技术122.2 CDN内容分发网络132.3应用层分布式设计162.4网络层架构小结173交换层架构173.1第四层交换简介173.2硬件实现183.3软件实现184服务器优化194.1服务器整体性能考虑194.2 Socket优化194.3硬盘级缓存224.4内存级缓存244.5 CPU与IO均衡264.6读写分离265应用程序层优化285.1网站服务器程序的选择285.2数据库选择295.3服务器端脚本解析器的选择305.4可配置性325.5封装和中间层思想336扩容、容错 阅读全文
posted @ 2012-02-17 23:27 Falling Leaves 阅读(1797) 评论(0) 推荐(1) 编辑
摘要:我于2007年四月加入了Facebook,在结束了几周的课程之后,我的经理Robert Johnson来找我。我们谈了很久,不过内容可以归结为:Bobby: “那么,Jason,我们要在2008年之前在弗吉尼亚开一个新的数据中心。你能去帮点忙吗?”Me: “呃…. 可以?”Bobby: “很好!”我在Facebook的第一个项目上投入的要比我预期的多一点点,但是我认为这是为何我们拥有如此一个非常强大的工程组织的原因;我们还有很多难题 有待解决,这里每个人都迫不及待要立刻去解决他们。我开始了解为何我们需要建造一个新的数据中心以及我们需要解决什么问题才能让他正常工作。有何必要?在东海岸建造一个新的 阅读全文
posted @ 2012-02-17 23:17 Falling Leaves 阅读(196) 评论(0) 推荐(0) 编辑
摘要:大型数据库设计技巧1.分类拆分数据量大的表。对于经常使用的表(如某些参数表或代码对照表),由于其使用频率很高,要尽量减少表中的记录数量。例如,银行的户主账表 原来设计成一张表,虽然可以方便程序的设计与维护,但经过分析发现,由于数据量太大,会影响数据的迅速定位。如果将户主账表分别设计为活期户主账、定期户 主账及对公户主账等,则可以大大提高查询效率。 2.索引设计。对于大的数据库表,合理的索引能够提高整个数据库的操作效率。在索引设计中,索引字段应挑选重复值较少的字段;在对建有复合索引的字段进行 检索时,应注意按照复合索引字段建立的顺序进行。例如,如果对一个5万多条记录的流水表以日期和流水号为序建. 阅读全文
posted @ 2012-02-17 09:36 Falling Leaves 阅读(208) 评论(0) 推荐(0) 编辑
摘要:“.htaccess”文件旺旺被网页设计师们忽略。假如你还不知道什么是htaccess的话,你可以去查一下wikipedia。它是目录级别的配置文件,有常用的网页服务器支持这种配置,例如Apache。下面我将列出10条有用的.htaccess配置技巧。 1. 反盗链 那些盗用了你的内容,还不愿意自己存储图片的网站是无耻的。你可以通过以下配置来放置别人盗用你的图片: RewriteBase /RewriteCond %{HTTP_REFERER} !^$RewriteCond %{HTTP_REFERER} !^http://(www.)?yoursite.com/.*$ [NC]Rewrite 阅读全文
posted @ 2012-02-16 13:54 Falling Leaves 阅读(161) 评论(0) 推荐(0) 编辑
摘要:随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的 互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层 已经成为架构研发人员首选的方式。水平切分数据库,可以降低单台机器的负载,同时最大限度的降低了了宕机造成的损失。通过负载均衡策略,有效的降低了单台 机器的访问负载,降低了宕机的可能性;通过集群方案,解决了数据库宕机带来的单点数据库不能访问的问题;通过读写分离策略更是最大限度了提高了应用中读取 (Read)数据的速度和并发量。目前国内的大型互联网应用中,大量的采用了这 阅读全文
posted @ 2012-02-10 12:00 Falling Leaves 阅读(302) 评论(0) 推荐(0) 编辑
摘要:一、数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的。 在一个系统分析、设计阶段,因为数据量较小,负荷较低。我们往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要花费更多的人力物力,而整个系统也不可避免的形成了一个打补丁工程。 所以在考虑整个系统的流程的时候,我们必须要考虑,在高并发大数据量的访问情况下,我们的系统会不会出现极端的情况。(例如:对外统计系统在7月16 阅读全文
posted @ 2012-02-09 11:53 Falling Leaves 阅读(5675) 评论(1) 推荐(2) 编辑
摘要:第一次看到这个标题时我也很惊讶,Apache居然还能做负载均衡?真是太强大了。经过一番调查后发现的确可以,而且功能一点都不差。这都归功于 mod_proxy 这个模块。不愧是强大的Apache啊。废话少说,下面就来解释一下负载均衡的设置方法。一般来说,负载均衡就是将客户端的请求分流给后端的各个真实服务器,达到负载均衡的目的。还有一种方式是用两台服务器,一台作为主服务器 (Master),另一台作为热备份(Hot Standby),请求全部分给主服务器,在主服务器当机时,立即切换到备份服务器,以提高系统的整体可靠性。负载均衡的设置"Apache可以应对上面这两种需求。先来讨论一下如何做 阅读全文
posted @ 2012-02-07 16:46 Falling Leaves 阅读(756) 评论(0) 推荐(0) 编辑
摘要:对于当今大流量的网站,每天几千万甚至上亿的流量,是如何解决访问量问题的呢?以下是一些总结的方法: 第一,确认服务器硬件是否足够支持当前的流量。 普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大,那么必须首先配置一台更高性能的专用服务器才能解决问题,否则怎么优化都不可能彻底解决性能问题。 第二,优化数据库访问。 服务器的负载过大,一个重要的原因是CPU负荷过大,降低服务器CPU的负荷,才能够有效打破瓶颈。而使用静态页面可以使得CPU的负荷最小化。前台实现完全的静态化当然最好,可以完全不用访问数据库,不过对于频繁更新的网站,静态化往往不能满足某些功能。 缓存技术就... 阅读全文
posted @ 2012-02-07 15:39 Falling Leaves 阅读(193) 评论(0) 推荐(0) 编辑