解决 eAccelerator doesn't work 的问题

症状:

  • 某个开启了 eAccelerator 的站运行缓慢,查看 phpinfo 提示未开启.
  • 执行 php -v结果如下:
[eAccelerator] This build of "eAccelerator" was compiled for PHP version 5.3.2-1ubuntu4.15. Rebuild it for your PHP version (5.3.2-1ubuntu4.17) or download precompiled binaries.
PHP 5.3.2-1ubuntu4.17 with Suhosin-Patch (cgi-fcgi) (built: Jun 19 2012 01:35:54)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

可以看到由于 eAccelerator 是为旧版编译的,所以重新编译即可解决.

解决 Vim 在远程输入方向键却显示为 A B C D 的问题

最简单的解决方法:

echo 'set nocp' >> ~/.vimrc

这同样会修复退格键删除无效的问题.

解决 VirtualBox 虚拟硬盘故障

环境:

  • Mac OS X 10.7.4
  • VirtualBox 4.1.14

症状:

  1. 休眠状态恢复出错
  2. 有 Windows XP 的虚拟硬盘文件损坏,子快照无法恢复,启动或者删除.

解决:

  1. 虚拟机上右键菜单-清除保存的状态,相当于重启,再休眠就好了.
  2. 这个麻烦大了,唯一欣慰的是:损坏的是系统盘,而非软件盘.在虚拟介质管理中展开虚拟硬盘的分支,查看子节点的名称.然后新建个系统直接挂载子节点名称的虚拟硬盘,拷贝数据后将损坏的虚拟机快照文件删除.

终极解决方案:

'VirtualBox'.replace('Parallels Desktop')

有关 QQ 旋风离线下载的一些实验

QQ 旋风推出了离线下载功能,试用了下,有些疑问,于是打算设计点实验探探原理.

在开始之前,先简单说说我观察到的现象:

  • 随手找了几个资源添加到离线下载,发现都是瞬间完成.
  • 有些原始下载地址下载速度很慢,通过离线下载加速后速度得到了稳定提升.

现象说完了,下面开始准备实验环境.

  1. 首先搭建一个 FTP 服务器,设置修改为每 IP 允许 2 个线程,每线程限制速度为 20K/S ,以便评估每个任务腾讯会启用多少台服务器来完成.
  2. 然后创建一个”独一无二”的文件,把某文件与空白文档打包并增加密码.保证使用离线下载不受盗链的影响.丢到 FTP 服务器上.试着下载了一下,资源数 1 ,符合要求.
  3. 创建离线下载任务,观察 FTP 日志,发现只有一台机器链接.
  4. 删除离线下载任务,发现服务器仍然在下载,尝试 T 掉,对方客户端再次链接.
  5. 重新建立离线下载等待完成,然后转存到本地,下载速度满速.
  6. 删除离线下载,新建普通下载,资源数仍然为 1 .
  7. 勾选离线下载,离线下载进度瞬间完成,普通下载满速.

得出的结论:

  • 腾讯的离线下载每次会使用一台服务器加速(步骤 3 ).
  • 即使删除离线任务,服务器仍然会将任务下载完并缓存,以备下次使用.不知道腾讯收集了多少文件,又准备了多少服务器?(步骤 4 )
  • 离线下载的资源有权限限制,也就是说,如果你没有使用离线下载,旋风并不会将腾讯的离线服务器加入盗链列表.(步骤 5 与 6 )
  • 即使删除离线任务,文件并不会在离线服务器上删除,仍然会被缓存.(步骤 7 )