Redis 到底有多快[译文]

Thumbnail

原文地址 http://redis.io/topics/benchmarks。 拖了一个半月的稿子~ Redis 自带了一个叫 redis-benchmark 的工具来模拟 N 个客户端同时发出 M 个请求。 (类似于 Apache ab 程序)。你可以使用 redis-benchmark -h 来查看基准参数。 以下参数被支持: Usage: redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests]> [-k <boolean>] -h <hostname> Server hostname (default 127.0.0.1) -p <port> Server port (default 6379) -s <socket> Server socket (overrides host and port) -c <clients> Number of parallel connections (default 50) -n <requests> Total number of requests (default 10000) -d <size> Data size of SET/GET value in bytes (default 2) -k <boolean> 1=keep alive 0=reconnect (default 1) -r <keyspacelen> Use random keys for SET/GET/INCR, random values for SADD Using this option the benchmark will get/set keys in the form mykey_rand:000000012456 instead of...

2014-02-23 · alswl

从 SVN 到 Git,找回丢失的历史

前段时间在将公司的 SVN 项目迁移到 Git 上面去,遇到一个很少见的问题: 有一个小伙伴使用 git-svn 做 rename 操作时候,将一个目录 svn mv 了, 导致新目录只存了最近几个月提交历史,丢失了历史信息。对团队开发而言, 历史提交是非常宝贵的财产,我们想了一些办法,把这些数据提取出来。 # 找出丢失之前的版本,列出丢失目录上层的操作记录。 svn log -l 2000 svn://log4d.com/trunk/apps/ios/ | less # 将重命名之前的版本拷贝到一个临时目录 svn copy svn://log4d.com/trunk/apps/ios/nami@43252 svn://log4d.com/trunk/apps/ios/nami_lost # 准备现有代码到 Git git svn clone svn://log4d.com/ -T trunk/apps/ios/nami -t tags -b branches -r 13532 nami #...

2014-01-21 · alswl

Goodbye 2013, Hello 2014

Thumbnail

2013 年末,我给自己制定了几个年度目标: 离梦想更近一步 找一个靠谱的姑娘,我感觉她需要我,我也需要她了 成为一个为百万用户级别提供技术支撑的人物,要能独当一面 帮助网站进行性能优化 制定规则,平衡猥琐实现和优雅 继续写博客,分享积累 + 翻译文章 关于感情 先来谈谈感情,我和她在一起一年半了,虽然偶尔有小摩擦,但总体上面还是非常幸福的。 找到一个能产生共鸣,生活兴趣相近,相互欣赏的人太难了。一定会珍惜的。 关于工作 再谈谈协...

2013-12-31 · alswl

Linux 程序员的 Mac 安装记录

作为一个 Linux 的老用户,我再一次验证了那句老话「Linux 用户有钱就换 Mac」。 前段时间,托朋友从香港购入一台 rMBP,下面就是我的 Mac 使用安装记录。 Brew Brew 是 Mac 下面的包管理工具,通过 Github 托管适合 Mac 的编译配置以及 Patch,可以方便的安装开发工具。 安装 Brew: ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)" 我安装的 Brew 包: brew install ack brew install adns brew install android-sdk brew install ansible brew install ansible20 brew install apple-gcc42 brew install apr brew install apr-util brew install archey brew install aria2 brew install asciidoc brew install asio brew install atk brew install augeas brew install autoconf brew install autojump brew install automake brew install avr-binutils brew install avr-gcc brew install avr-libc brew install awscli...

2013-12-08 · alswl

Postfix 基本配置[译文]

原文地址:Postfix Basic Configuration 。 有少许编译。 介绍 Postfix 的配置文件 main.cf 有数百个配置参数, 幸运的是,所有参数都有合理的默认配置项。 大部分时候,只需要配置两三个参数即可。 安装 Postfix 的方法可以参见 安装方法。 特殊场景用途的配置方式,如邮件中枢,防火墙,拨号环境客户端的说明可以在 标准配置说明 里面查看。 Postfix 配置语法 Postfix 的配置文件默认在 /etc/postfix。主力配置文件是 main.cf 和 master.cf。用户权限必须是 root 的。 /etc/postfix/main.cf 配置语法...

2013-11-09 · alswl

在 Python 中使用 GDB 来调试[译文]

大约一年前,我接触了 Java 中的 Btrace 能够不停机查看线上 JVM 运行情况的特性让我艳羡不已。 另外还有强悍的 jStack 和 jConsole 来进行运行期侦测,JVM 的工业级强度果然不是盖的。 当时公司技术方面也遇到了一些瓶颈,一部分原因是 CPython 本身的 IO 模型问题, 另一方面也和早期代码写的极不工整脱不了关系。万般无奈之下,我们用 Jython 推翻重做了主要业务,效果立竿见影,但同时也把真实问题给规避掉了。 在这之后我们在 JVM 的领导下,走上了康庄大道。但我心中始终还有...

2013-11-01 · alswl

15 分钟学会 R 语言[译文]

仗着自己有几门语言的基础,我在学新语言时候,都会选择一些快速入门教程。 比如 Learn X in Y minuts 就是我经常光顾的站点。 前段时间,小柒在用 R 写数据分析脚本,我就建议她把 Learn X in Y minuts 里面的 R 语言教程翻译出来。话说 Learn X in Y minuts 里面的中文贡献还是非常多的,赞。 Learn X in Y minuts 的源码托管在 Github。 小柒被我逼着把这篇 R 语言教程 翻译到 R 语言教程中文版。 下面是译文,有不妥的地方可以留言或者直接去 Github 上面 Pull request。 R 是一门统...

2013-10-29 · alswl

读《大规模Web服务开发技术》

Thumbnail

年前看了这本书《大规模Web服务开发技术》,当时给的评价是: 很好,让我这个渣渣看的很感动,数据翔实,经历可靠,翻译的也不错,我给 4.2 分 现在经历过 Python / Django / 烂代码的阵痛,开始有更多的想法, 在整理这些粗糙的想法之前,我又把这本书翻了一遍,写个流水帐读书笔记。 《大规模Web服务开发技术》@豆瓣: http://book.douban.com/subject/6758780/ 规模 小规模 / 大规模 / 超大规模的侧重点各不相同:保持扩展性/保持冗余/低成本运维/开发合作方便 内存、磁盘、负载 内存...

2013-06-29 · alswl

Arch,再见

Thumbnail

Arch 是我真正使用的第一款 Linux 发行版,大约使用了三年, 现在的这个 VPS 跑的系统也是 Arch。 然而随着时间变化,我从最早的天天更新狂,到一周、一个月、三个月和不主动更新。 彻底从从不折腾会死星人变成了一个尽量避免变更的老用户。 Arch 很适合作为第二个(第一个是新手使用的 Ubuntu),它的哲学 KISS 非常优雅, Keep It Simple And Stupid。基于这原则,它将 Linux 内部的使用、运维细节都展现出来。 毫不夸张的说,被 Arch 折腾几年,就能胜任 Linux SA 的...

2013-04-13 · alswl

读《人件》

Thumbnail

事情起源于动态语言和静态语言之争,最后争论焦点转移到:「相信人本身的能力重要, 还是通过语言/工具来约束人重要」。 我认为项目开发中最重要的是个人能力和团队协作能力,工具只是加分项。 如果代码质量差、监控难、性能难以优化,解决根本问题的关键还是在人身上。 并不是静态编译和工具检查就能搞定了。 我愤愤的在 QQ 对话框中写道: 我工作第一年痛苦于开发流程,阅读了《人月神话》,就开始坚信软件工程的哲学 后来痛苦与代码质量...

2013-04-10 · alswl