Author: admin

【手绘雄文】集群文件系统架构演变终极深度梳理图解

曾几何时,你可能被“集群FS”“共享FS”“SANFS”“并行FS”“分布式FS”这些名词弄得头晕眼花,冬瓜哥一度也是,而且也找很多人去求证,倒头来每个人的说法都不一样,于是冬瓜哥开始潜心自己研究总结。究其本质原因是集群系统里有好几个逻辑层次,而每个层次又有不同的架构,组合起来之后,花样繁多,而又没有人愿意用比较精准的名字来描述某个集群系统,取而代之只用了能够表征其某个层次所使用的架构来表征整个系统,这是产生理解混乱的原因。本文会对现存的集群文件系统框架进行一个清晰的梳理、划界。即便是大名鼎鼎的维基百科,恐怕也没有一篇文章彻底的梳理所有这些框架,都是零零散散的混乱定义,让人看了摸不着头脑。维基百科中文频道,冬瓜哥之前增加过一条“集群文件系统”的定义,还有百度百科,大家可以去看看,那个条目写的非常概要,而本文则展开讲述。…

        

NGINX缓存使用官方指南

我们都知道,应用程序和网站一样,其性能关乎生存。但如何使你的应用程序或者网站性能更好,并没有一个明确的答案。代码质量和架构是其中的一个原因,但是在很多例子中我们看到,你可以通过关注一些十分基础的应用内容分发技术,来提高终端用户的体验。其中一个例子就是实现和调整应用栈(application stack)的缓存。这篇文章,通过几个例子来讲述如何使用NGINX缓存,此外,结尾处还列举了一些常见问题及解答。…

    

使用php blenc扩展加密php源代码

使用php blenc扩展加密php源代码,不但可以加密源代码,还可以设置过期时间。

扩展地址 http://pecl.php.net/package/blenc

注意:不要启用opcache扩展,否则加密后的代码无法正常运行。

要加密的源码不需要<?php  及?>开始与结束标记

可指定个人密钥。

可指定一个BLENC模块过期日期。 你可以决定BLENC 模块将工作到一个日期。之后,BLENC不会解密任何文件.

这些都可以在头文件 blenc_protect.h中设置,设置好后再编译BLENC.

用法:

http://cn2.php.net/manual/en/function.blenc-encrypt.php

安装用phpize安装  phpize  ./configure make make install.

注意,如果安装后,访问php出现500错误,请试着打开 php.ini中的expose_php=On;

        

老叶倡议:MySQL压力测试基准值

通常,我们会出于以下几个目的对MySQL进行压力测试:

1、确认新的MySQL版本性能相比之前差异多大,比如从5.6变成5.7,或者从官方版本改成Percona分支版本;
2、确认新的服务器性能是否更高,能高多少,比如CPU升级了、阵列卡cache加大了、从机械盘换成SSD盘了;
3、确认一些新的参数调整后,对性能影响多少,比如 innodb_flush_log_at_trx_commit、sync_binlog 等参数;
4、确认即将上线的新业务对MySQL负载影响多少,是否能承载得住,是否需要对服务器进行扩容或升级配置;

针对上面这几种压测的目的,相应的测试方法也有所不同。

先说第四种,需要和线上业务结合起来,这时候就需要自行开发测试工具,或者利用 tcpcopy 将线上实际用户请求导向测试环境,进行仿真模拟测试。

对于前三种,我们通常采用基准测试就可以。比较常用的MySQL基准压力测试工具有 tpcc-mysqlsysbenchmysqlslap 等几个。…

php 连接mongodb,mongodb异常退出再启动,php开始几次取不到数据的问题解决

php 连接mongodb,mongodb异常退出再启动,php开始几次取不到数据的问题解决

是由于mongodb的长连接导致的,长连接是默认的。

 

解决 办法 ,在php脚本 结束后 ,强制关闭mongodb连接

$mongo= new MongoClient("mongodb://whisky:13000/?replicaset=seta");

$mongo->close(true);