摘要: nginx lua模块淘宝开发的nginx第三方模块,它能将lua语言嵌入到nginx配置中,从而使用lua就极大增强了nginx的能力.nginx以高并发而知名,lua脚本轻便,两者的搭配堪称完美.接下来请看如何安装nginx + ngx_lua模块.以及最后来个简单的测试. 由于已经安装了nginx,所以需要重新编译,要保留原来安装的模块。 阅读全文
posted @ 2014-02-14 15:58 西瓜先生 阅读(1268) 评论(0) 推荐(0) 编辑
摘要: 插件将取代成熟的项目 许多软件的成功都得益于拥有大量优秀的插件,比如Photoshop。现在,在应用程序上安装/更新插件都非常简单,例如MagicHour用户可以像分享照片那样共享过滤器。此外,大多数平台都提供了一个很好的插件API,这些肥沃的生态环境上充满着成千上万的模块、库和插件。 阅读全文
posted @ 2014-02-14 10:23 西瓜先生 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 一提起位运算,人们往往想到它的高效性,无论是嵌入式编程还是优化系统的核心代码,适当的运用位运算总是一种迷人的手段,或者当您求职的时候,在代码中写入适当的位运算也会让您的程序增加一丝亮点,最初当我读《编程之美》求“1的数目”时,我才开始觉得位运算是如此之美,后来读到 《Hacker's Delight》,感慨到Henry S.Warren把位运算运用的如此神出鬼没,很多程序都十分精妙,我觉得在一个普通的程序中大量运用这样的代码的人简直是疯了!但掌握简单的位运算技巧还是必要的,所以今天写这篇博文把我积累的一些位运算技巧分享给大家,这些技巧不会是如求“1的数目”的技巧,是最基本的一行位运算技巧! 阅读全文
posted @ 2014-01-15 15:46 西瓜先生 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 一个豁达的关键是正确乐观的面对失败的系统。不需要过多的担心,需要一种去说那又怎样的能力。因此架构的设计是如此的重要。许多优秀的系统没有进一步成长的能力,我们应该做的是去使用其他的系统去共同分担工作。   Redis是其中一个吸引我的系统,一个持久性的,键值对存储内存操作高性能的平台。他是一个优秀的键值对数据库。我已经在使用了。即使AWS最近宣布开始支持ElasticCache的下级缓存。但是一个无主的redis集群仍然起着重要的作用。我们需要多系统去完成工作。同时,我们能够集合多种组件在一个容错和无主的集群里共同工作么?在这片文章中我将介绍梦幻般的redis。 阅读全文
posted @ 2013-12-30 18:11 西瓜先生 阅读(1031) 评论(0) 推荐(0) 编辑
摘要: 2009年, 使用memcache(用于非持久化内容), memcacheDB(用于持久化+计数), memcacheDB是新浪在memcache的基础上,使用BerkeleyDB作为数据持久化的存储实现; 阅读全文
posted @ 2013-12-30 14:35 西瓜先生 阅读(246) 评论(0) 推荐(0) 编辑
摘要: PHP 5.3 以上版本,使用pthreads PHP扩展,可以使PHP真正地支持多线程。多线程在处理重复性的循环任务,能够大大缩短程序执行时间。   我之前的文章中说过,大多数网站的性能瓶颈不在PHP服务器上,因为它可以简单地通过横向增加服务器或CPU核数来轻松应对(对于各种云主机,增加VPS或CPU核数就更方便了,直接以备份镜像增加VPS,连操作系统、环境都不用安装配置),而是在于MySQL数据库。如果用 MySQL 数据库,一条联合查询的SQL,也许就可以处理完业务逻辑,但是,遇到大量并发请求,就歇菜了。如果用 NoSQL 数据库,也许需要十次查询,才能处理完同样地业务逻辑,但每次查询都比 MySQL 要快,十次循环NoSQL查询也许比一次MySQL联合查询更快,应对几万次/秒的查询完全没问题。如果加上PHP多线程,通过十个线程同时查询NoSQL,返回结果汇总输出,速度就要更快了。我们实际的APP产品中,调用一个通过用户喜好实时推荐商品的PHP接口,PHP需要对BigSea NoSQL数据库发起500~1000次查询,来实时算出用户的个性喜好商品数据,PHP多线程的作用非常 阅读全文
posted @ 2013-12-30 12:58 西瓜先生 阅读(1848) 评论(0) 推荐(0) 编辑
摘要: 1 数据传输方式 1.1 Socket传输的定义和其特点 所谓socket通常也称作"套接字",实现服务器和客户端之间的物理连接,并进行数据传输,主要有UDP和TCP两个协议。Socket处于网络协议的传输层。 UDP协议:广播式数据传输,不进行数据验证 TCP协议:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流, 阅读全文
posted @ 2013-12-10 13:14 西瓜先生 阅读(1245) 评论(0) 推荐(0) 编辑
摘要: 最近做了一次队列服务的性能测试,是通过两种协议windows socket和http分别往内存中写入url。对比哪种协议的效果更高,下图是测试结果。此次使用的工具是loadrunner。在压socket协议时,不能进行录制,只能通过手写函数完成。环境说明服务端 111.111.111.218,配置cpu3.0/4核内存4G. 100m带宽测试机 111.111.111.19配置cpu3.0/4核内存4G. 100m带宽测试目的性能测试测试人李秀龙场景说明windows socket协议: 连续读写固定的值(读写同时进行)http协议:http://111.111.111.218/put/que 阅读全文
posted @ 2013-12-10 12:59 西瓜先生 阅读(2132) 评论(0) 推荐(1) 编辑
摘要: 对像在PHP 里面和整型、浮点型一样,也是一种数据类,都是存储不同类型数据用的, 在运行的时候都要加载到内存中去用,那么对象在内存里面是怎么体现的呢?内存从逻辑上 说大体上是分为4 段,栈空间段、堆空间段、代码段、初始化静态段,程序里面不同的声明 放在不同的内存段里面 阅读全文
posted @ 2013-10-30 14:27 西瓜先生 阅读(243) 评论(0) 推荐(0) 编辑
摘要: Sean Hull是Heavyweight Internet Group的创始人兼高级顾问,拥有20年以上技术顾问相关经验,曾为多家知名机构提供咨询,其中包括The Hollywood Reporter、Billboard、NBC Universal、Zagats、Rent the Runway及ideeli,这些高速增长的公司每个月处理接近1亿的独立访客。Hull在Amazon EC2部署和Linux及MySQL性能上有着丰富的经验。巨大流量的处理需涉及多个方面,其中包括网站扩展性、业务连续性、安全及架构挑战等。近日,Hull分享了高性能Web应用打造的经验,剖析了扩展之路上20个最大的绊脚石。以下为译文: 阅读全文
posted @ 2013-10-08 15:30 西瓜先生 阅读(326) 评论(0) 推荐(0) 编辑