欢迎光临
我们一直在努力

老王的文章

Nginx缓存解决方案:SRCache-IT技术资讯
Nginx

Nginx缓存解决方案:SRCache

老王阅读(882)评论(0)赞(1)

前些天帮别人优化PHP程序,搞得灰头土脸,最后黔驴技穷开启了FastCGI Cache,算是勉强应付过去了吧。不过FastCGI Cache不支持分布式缓存,当服务器很多的时候,冗余的浪费将非常严重,此外还有数据一致性问题,所以它只是一个粗...

Web框架与太阳系-IT技术资讯
ihh

Web框架与太阳系

老王阅读(804)评论(0)赞(1)

古语有云:工欲善其事,必先利其器。对于Web开发亦是如此,不过现在的Web框架实在是太多了!以PHP为例,有CakePHP、CodeIgniter、Symfony,Zend,Yii等等,到底谁是最合适的?事实上过多的选择往往会让人陷入「乱花...

TCP

监控Netstat中的TCP数据

老王阅读(1420)评论(0)赞(0)

通过netstat命令,我们能获取TCP数据,监控它们有助于了解系统。   如果netstat版本比较老的话,那么运行时可能会遇到下面的错误信息: error parsing /proc/net/netstat: Success ...

Shell

一个Shell工具:jsondiff.sh

老王阅读(1113)评论(0)赞(2)

我最近忙着重构一个历史项目,不过由于客观条件所限,没有测试用例可用,以至于我不得不通过人肉对比新旧服务器的结果集是否一致来判断对错。既然说懒惰是程序员的美德,所以我想还是写一个工具吧,加之结果集为JSON,于是便有了jsondiff.sh。...

HTTP

一个HTTP小问题

老王阅读(896)评论(0)赞(1)

同事叫我帮忙解释一个问题:一个PHP生成的重定向请求,在Nginx日志里产生两种截然不同的记录:一种响应体大小是零个字节;另一种响应体大小是五个字节。   现在年纪大了,面对问题时的嗅觉不再灵敏,第一感觉零是正确的,心想是不是重定...

Rsyslog

跟我学Rsyslog

老王阅读(902)评论(0)赞(1)

在数据为王的时代,日志管理是一个绕不开的话题,相应的开源软件有不少,比如热门的三件套:Logstash、ElasticSearch、Kibana,可惜我对这些高大上的东西往往心存敬畏,不敢轻易触碰,相比较而言,我更喜欢能够快速上手的东西。 ...

Redis

如何在Redis里按模式删除数据

老王阅读(820)评论(0)赞(1)

一台Redis服务器在很短的时间里消耗了几十个G的内存,最终因为SWAP而宕机。因为这台服务器的社会背景比较复杂,所以一时无法判断犯罪嫌疑人到底是谁。   最开始的直觉是认为肯定有人保存了大体积的数据,于是问题就变成了找出哪些键占...

为什么「0.1+0.2!=0.3」,而「0.1+0.3==0.4」-IT技术资讯
ihh

为什么「0.1+0.2!=0.3」,而「0.1+0.3==0.4」

老王阅读(978)评论(0)赞(3)

我们都知道潮汐现象,上学的时候老师多半简单解释一句「月球引力所致」就算了,而我们也都觉得自己明白了,但是凡事就怕琢磨:如果涨潮仅仅是月球对地球万有引力的作用结果的话,那么每天同一个地点,应该仅仅在距离月球最近引力最强的时候有一次涨潮才对,但...

OpenResty与模块-IT技术资讯
OpenResty

OpenResty与模块

老王阅读(938)评论(0)赞(1)

Lua 中没有常见面向对象语言中所谓类的概念,取而代之使用模块来组织管理代码。关于模块的基础知识大家可以参考「OpenResty 最佳实战」,本文聊点别的。   如何实现一个模块呢?假设我们要实现一个不太安全的房奴模块(house...

使用Fiddler把请求从HTTPS改成HTTP-IT技术资讯
ihh

使用Fiddler把请求从HTTPS改成HTTP

老王阅读(955)评论(0)赞(2)

为什么我要把请求从 HTTPS 改成 HTTP?这是因为生产环境是 HTTPS 的,而测试环境却是 HTTP 的,我要在测试环境测试应用,所以需要把请求从 HTTPS 改成 HTTP。为什么我不在测试环境部署一套 HTTPS 证书?这是因为...

ihh

如何在环境中存储配置

老王阅读(867)评论(0)赞(1)

关于「在环境中存储配置」,是 The Twelve-Factor App 倡导的方法论之一。通常,应用的配置在不同环境(预发布、生产环境、开发环境等等)间会有很大差异,比如说数据库的用户名密码等等配置,通过把配置和代码分离,我们可以保证部署...

ihh

被忽视的time命令

老王阅读(857)评论(0)赞(0)

如果要选 Linux 下最容易被忽视的命令,time 应该算一个。简单来说,它是一个用来计算命令运行时间的工具,之所以说它容易被忽视,一方面很多人根本不知道 time 的存在,而是习惯在命令启动前后记录两个时间戳,然后手动计算命令运行时间;...