首页 » 网站架构

大白话聊聊分布式事务

 

大白话聊聊分布式事务 什么是分布式事务 简单的来说就是,一个大的操作由两个或者更多的小的操作共同完成。而这些小的操作又分布在不同的网络主机上。这些操作,要么全部成功执行,要么全部不执行。 拿转账的例子来说下什么是分布式事务。张三和李四在不同的城市,存储他们账户信息的服务器也在不同的网络主机上。张三 ...

淘宝社区双十一性能优化实践

 

这个是我在《2016全球第二届PHP开发者大会》上的分享。分享的主题是《淘宝社区双十一性能优化实践》。主要讲解了如何做性能优化,如何做分库分表。以下是PPT重要内容的几个截图。如有疑问,欢迎沟通交流。 大纲 性能优化思路 如何做分库分表 memcache数据同步 降级系统架构 降级系统的详细介绍可以查看 《使 ...

php性能监控与优化

 

在很早很早之前,在21cto社区线下分享大会上,曾经分享了一个主题《php性能监控与优化》。当时没放出ppt,今天发现有人在微博找ppt。放出下载地址。 点此下载。

使用varnish + nginx + lua搭建网站的降级系统

 

前言 通常一个网站数据库挂掉后,后果将是非常严重的。基本上整个网站基本不可用了。对于一些网站来说,当数据库挂掉后,如果能提供基本的浏览服务,也是不错的。本文将尝试使用varnish + nginx + lua 搭建网站降级系统来实现整个目标。 降级目标 降级方案的目标是,当网站出现致命故障时(如出现500错误,不能提供服务 ...

使用nginx限制百度蜘蛛的频繁抓取

 

百度蜘蛛抓取量骤增,导致服务器负载很高。最终用nginx的ngx_http_limit_req_module模块限制了百度蜘蛛的抓取频率。每分钟允许百度蜘蛛抓取200次,多余的抓取请求返回503。 nginx的配置: #全局配置 limit_req_zone $anti_spider zone=anti_spider:60m rate=200r/m; #某个server中 limit_req zone=anti_sp ...

数据库分表后,并发环境下,生成全局id生成的几种方式

 

最近一个项目由于数据量变大,需要进行数据分表。数据存储在淘宝的tddl上。分表后,原先的自增id就不能使用了。tddl对java支持很好,分表后无需考虑全局id的问题。但是这个项目使用的是php进行开发,必须自己生成全局id。以下列出几种分表方案,仅当抛砖引玉。 方法1:使用CAS(compare and swap) 其实这里并不是严格 ...

php的 zend opcache VS apc 性能比较

 

如果你关注php,那么你会发现Zend Optimizer+将要包含在php5.5中发布。并且Zend Optimizer+更名为zend opcache。那么zend opcache的性能到底如何呢?今天我们就和另一款opcode的cache软件APC做下比较。 软件版本如下: PHP 5.4.14 (cli) (built: May  8 2013 18:05:07) APC-3.1.13 ZendOpcache-7.0.2 测试的php脚本程序 ...

php实现bigpipe

 

BigPipe是facebook发明的一种页面加载技术。其实也不是什么新技术了,也有很多文章进行说明。但是在网上,具体讲如何使用php实现bigpipe的文章很少,并且有些文章还不很准确。bigpipe的核心思想是并行,服务器生成数据和浏览器渲染数据的并行。 在实现bigpipe时有几点注意: 1.如果使用nginx作为web服务器,那么nginx可 ...