- 博客(9)
- 资源 (17)
- 收藏
- 关注
转载 使用memc-nginx和srcache-nginx模块构建高效透明的缓存机制
Nginx的Memc和SR Cache模块缓存策略的改进为了提高性能,几乎所有互联网应用都有缓存机制,其中Memcache是使用非常广泛的一个分布式缓存系统。众所周知,LAMP是非常经典的Web架构方式,但是随着Nginx的成熟,越来越多的系统开始转型为LNMP(Linux+Nginx+MySQL+PHP with fpm),这是因为Nginx采用基于事件机制的I/O多路复用思
2014-06-30 17:14:45 1798
原创 用lua扩展你的Nginx(整理)
ngx_lua原理ngx_lua将Lua嵌入Nginx,可以让Nginx执行Lua脚本,并且高并发、非阻塞的处理各种请求。Lua内建协程,这样就可以很好的将异步回调转换成顺序调用的形式。ngx_lua在Lua中进行的IO操作都会委托给Nginx的事件模型,从而实现非阻塞调用。开发者可以采用串行的方式编写程序,ngx_lua会自动的在进行阻塞的IO操作时中断,保存上下文;然后将IO操作委托给Nginx事件处理机制,在IO操作完成后,ngx_lua会恢复上下文,程序继续执行,这些操作都是对用户程序透明的。
2014-06-30 16:48:09 9162
原创 LAMP架构演进到LAMPGC,再演进到LNMLGC(linux+nginx+mysql+lua+gearman+C)
在这里重点介绍nginx怎样调用gearman中间件nginx在高并发异步调用的性能够强,这地球人都知道了lua的协程,也可以实现并发的异步调用把这两个结合起来看看效果先看下apache+php调用gearman的情况,同步一调用一gearman任务,假如这个任务要3S钟,那么当前这个apache的httpd进程就会被阻塞,它无法为其它客户端服务了再来看看nginx+lua调用gearman的实现:nginx同样是一个worker,worker进程里通过lua协程调用gearman任务,即
2014-06-30 10:23:20 4108
转载 redis设计思想
不同于nginx的精雕细琢,redis代码的风格趋向于简洁实用。简洁启事,下面所述不再列举任何源码,不拼凑任何外来资料。去除末枝,下面直入redis主题,尽可能简洁地描述redis的设计思想。整体模型:单进程单线程事件驱动模式。Redis在主处理流程中,采用了单进程接受各种client请求并返回结果,整体处理流程采用事件驱动的方式进行。通过其IO复用的方式监听aeEventLoop
2014-06-20 12:05:46 1870
转载 使用batch insert解决MySQL的insert吞吐量问题
最近使用了一个非常简单易用的方法解决了业务上的一个insert吞吐量的问题,在此总结一下。 首先我们明确一下,insert吞吐量其实并不是指的IPS(insert per second),而是指的RPS(effect rows per second)。其次我们再说一下batch insert,其实顾名思义,就是批量插入。这种优化思想是很基本的,MySQL中最出名的应用就是group c
2014-06-17 15:31:40 3455
原创 《大型网站技术架构 -核心原理与安全分析》读书笔记
大型网站架构演化的价值观网站的价值在于它能为用户提供什么价值,在于网站能做什么,而不在于它是怎么做的,所以在网站还很小的时候去追求网站的架构是舍本逐末,得不偿失的。小型网站最需要做的就是为用户提供好的服务来创造价值,得到用户的认可,活下去,野蛮生长。网站架构设计误区一味追求大公司的解决方案大公司的经验和成功模式固然重要,值得学习借鉴,但如果因此而变得盲从,就失去了坚持自我的勇气,在架构演化的道路上迟早会迷路。为了技术而技术网站技术是为业务而存在的,除此毫无意义。在技术选型和架构设计
2014-06-15 11:52:11 1817
原创 PHP主动断开与浏览器的连接
曾经整理过一篇《关于PHP连接处理中set_time_limit()、connection_status()和ignore_user_abort()深入解析》,是讲解浏览器客户端断开时,服务器PHP脚本的处理。这篇文章,将讲解一下服务器PHP脚本怎样主动断开与浏览器的连接,主要方法是使用http协议header中的Content-Length和ConnectionContent-Length的作用:浏览器接收到指定Content-Length大小的消息实体后,则会断开与服务器的连接。Connectio
2014-06-14 01:11:38 5512
转载 高性能服务器架构(High-Performance Server Architecture)
引言本文将与你分享我多年来在服务器开发方面的一些经验。对于这里所说的服务器,更精确的定义应该是每秒处理大量离散消息或者请求的服务程序,网络服务器更符合这种情况,但并非所有的网络程序都是严格意义上的服务器。使用“高性能请求处理程序”是一个很糟糕的标题,为了叙述起来简单,下面将简称为“服务器”。本文不会涉及到多任务应用程序,在单个程序里同时处理多个任务现在已经很常见。比如你的浏览器可能就在做一
2014-06-09 10:55:05 1653
转载 同步/异步与阻塞/非阻塞的区别
我喜欢用自己的语言通过联系现实生活中的一些现象解释一些概念,当我能做到这一点时,说明我已经理解了这个概念.今天要解释的概念是:同步/异步与阻塞/非阻塞的区别.这两组概念常常让人迷惑,因为它们都是涉及到IO处理,同时又有着一些相类似的地方.首先来解释同步和异步的概念,这两个概念与消息的通知机制有关.举个例子,比如我去银行办理业务,可能选择排队等候,也可能取一个小纸条上面有我的
2014-06-09 09:57:57 837
php_client_for_mysql_binlog 源代码包
2017-05-16
阿里cobar中间件文档集合
2014-04-29
高性能MySQL 第三版读书笔记 一至六
2013-11-19
MYSQL学习资料
2013-11-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人