Archive for August, 2009

评软件包 (3)

接着上期卖的关子来, 不废话, 开始.

amule
这个 amule 有好几部分. gentoo 用 USE 区分, 其它类的用 amule-daemon 什么的区分.
对于 24h 在线的机器, amule-daemon 非常适合挂机. 省内存, 支持 Kad.
amule-daemon 有两个缺点不得不提.
1 启动难, 关闭也难. 可能和 start-stop-daemon 有关.
只要”预热”阶段不出问题, 那么能够正常工作好几天. 否则就僵住了一样.
停止服务经常需要 pkill -9, 原因不太清楚.
2 用客户端连接后不能查看下载详情(如供源用户).
如果仔细想想, 是可以接受的. 这种没用的功能实现出来也是浪费内存吧.
和 mldonkey 相比, 至少省一半内存, 这还不是同等条件下的测试结果.

aria2
推荐作为命令行 BT 客户端. 也有多线程下载的功能.
睁大眼睛看它的参数, 调好了, 扔 screen 里面, 就可以用了.
支持 DHT, 但给人一种没在工作的感觉, 印象中效果也不太好.
需要注意, 下完之后重新启动 aria2c, 不能用于 BT 做种.

curl
要分三部分来说. 这样一个东西不给正面的评价怎么行?
1 日常 http(s) / ftp 等, 没什么可说的.
curl 没有 wget -c 的功能, 遗憾? 这也说明 curl 不适合做这个事.
这个例子很说明问题 curl -C – -O file:///path/to/somefile
2 官方网站上有不少有意思的投票.
telnet, sftp, scp, tftp … 等, 你用过吗?
3 libcurl.
libcurl 是支持多线程的.
libcurl 在任务结束后返回的数值有很大的用途.
比如这几个:
TCP Connection Time = time_connect – time_lookup
Time to First Byte = time_starttransfer – time_connect
Redirection Time = time_total – time_starttransfer
用 curl 也能得到这些数据, 参见 curl -w 的用法.

deluge
推荐作为主要 BT 客户端的唯一理由: DHT 状态看的见, 有效果.
参见下面 transmission

httrack
为了写文测试了十几分钟, 没学会怎么用. 参数像 pavuk 一样多.
如果这东西真好用的话, 这个评价就应该修改一下.

lftp
不错的命令行 ftp 客户端. 推荐给所有的人. 不需要 screen.

mldonkey
Kad 功能也许是鸡肋. 内存利用率不高. 如果不是非常必要的话不推荐.
如果这样说的话, 需要一套界面来处理 http, ftp, bt, donkey 等的下载任务.
都用命令行虽然麻烦, 不过确实省内存.

pavuk
推荐作为全站下载工具. 功能极多, 参数也极多. 有如鸡肋一样的 gui 界面 (还是查参数比较好).
用 “pavuk URI -progress -dont_ave_dir -nthreads 10″ 就能完成 “wget -m -np URI” 一样的效果, 而且速度更快.
在 http / ftp 方面基本能替代 curl, 但用起来完全不习惯.

transmission
DHT 功能是摆设? 如果 tracker 被墙掉, 就不要用它了. 不推荐.
这方面不如 deluge, 这个问题对大陆用户 … 需要说吗? :D

wget
图省事的话就用它吧. 很多人用它都很熟.

Tags:
Comments

评软件包 (2)

上回漏掉了一个重要的前提.
所有评论只代表偶在这个思想和层次下得出的一种片面的结论.

nginx
上回说 nginx 的数据结构难用, 估计做一点封装会好不少.
还没弄好的 lighty 2.0 说是用 glib, glib 很好, 不过把调试弄麻烦了.
个人更喜欢 lighty 1.x 的模块架构, 但不幸的是这种架构有一些性能方面的影响. 少载入几个模块就会使 lighty 跑的更轻快一些. 这方面大家都一样.
用 nginx 就等于选择初期折腾? 后期是否能享受则完全是另一回事.
非专业玩 nginx 的同学在偶的印象中总是和早期过度优化联系在一起. 这并没有特别的什么好坏之分, 好坏都是对个人的, 对吧? :D

ntp
许多人喜欢 ntpdate. 对服务器来说 ntpdate 应该排在 networking 后面立刻执行, 对时间敏感的服务就应该阻塞在它后面启动.

rsync
不知道为什么很多人喜欢几秒或者几分钟左右就执行同一句 rsync 命令.
现在有不少能够实现实时同步的替代品.
甚至可以换个思路, 如果全是静态文件, 做成带缓存的反向代理又是什么效果?

rsyslog(d)
许多人觉得 syslog 很可怕. 日志这样的东西就不应该当做消息来传递, 对它的处理并没有高实时要求.
相对于其它的几个 syslogd 实现, rsyslog 是最好的一个, 加密, 暂存等功能比较全.

screen
用了几个小时的 tmux, 只是因为快捷键不够顺手就放弃了.
会用和不会用确实有很大的不同. 如果不说清楚怎么用, 许多人就会留一大堆 screen 进程留在内存里.

sysstat
它是一堆小工具的合称, 也是一个监控服务的名称. 这个服务偶是不开的.
偶尔会用 iostat (需要注意它的参数, DBA 们应该会喜欢的).
个人主要的性能监测工具是 vmstat, top, dstat.

卖下期关子, 下载系列?
amule, aria2, curl, deluge, httrack, lftp, pavuk, wget.

Tags:
Comments

评部分已安装软件包 (1)

继续挖大坑.

技术不重要, 不要迷于技术.
人不能做技术的奴隶, 而现在的趋势确是向这个不好的方向走.

busybox
对得起瑞士军刀的美名. 推荐准备一个静态版本 (busybox-static) 备用 (试试 rm -rf /lib :D ).
正常情况多用软链接, 硬链接可以构建安全的 chroot 环境.

cherokee
这名字弄半天才记住.
配置文件最难看, 但 web 配置最舒服的 http server (cherokee-admin).
代码中比较突出的问题:
1 每个部件分工过于明确, 有些功能很难实现?
2 数据结构不够好用.
(别以为 nginx 是正例, tokyo cabinet/tyrant 是.
值得一提的是 nginx 代码中确实有不少技巧, 可调的东西很多)
推荐新手使用, 至少要比 nginx 少走不少弯路, 比如不用手工 ulimit :D

dnsmasq
加速重复的 dns 解析, 有一定的防劫持能力(需要手动改配置)
可以用做写的不好的爬虫的辅助程序 (比如如果你喜欢大量用 curl 命令行的话)

dropbear
问题比 openssh 少得多的应急 ssh 服务器. 经常会碰到喜欢 /etc/init.d/sshd stop 的同学 (去反思这权限怎么设的?).
现在比较好的 VPS 在非虚拟层上会给你开 terminal 用, 但非虚拟的机器就还是多准备条后路吧. 不过不打某补丁的 openssh 传大文件也不是很好用.

gearman
不讨论 gearman 本身怎么样. 用 gearman 就等于选择不断努力降低延迟.
有时 gearman 还是太简单, 拿到一个 job 就一定要返回一个值 (当然不返回就是有问题), 而不能取一个 job 断开链接, 稍后再重连返回所需的值.
虽说你可以设法模拟一个这样的玩意出来, 可是这样好看吗? 也许也只能这样做.

irqbalance
两种人用, 目标还不一样. 做服务器的用它能提高并发水平. 笔记本用户用它可以省电 (laptop_mode).

memcached
弄清楚你要存什么东西, 搞清楚缓存项目的大小分布情况.
内存不是用来随便浪费的.
谁做好内存索引了? (需要承认 mysql 等的索引只要配置得当都在内存里. 不能一竿子都打了, :D )

卖关子一下.
nginx, ntp, rsync, rsyslog, screen, sysstat

Tags:
Comments