2013年1月

Mobile Mouse的linux服务端,http://sourceforge.net/projects/mmlinuxserver/?source=dlp 
 以前编译过的版本由于libconfig兼容性不能用了,因此重新下载源码编译,
 make方法:

 sh builddep.sh
 mkdir build
 cd build
 cmake ..
 make

其中有个编译错误:
 /tmp/mmlinuxserver/src/configuration.cpp:33:27: error: ‘gethostname’ was not declared in this scope

打开 ../src/configuration.hpp,增加一行
#include <unistd.h>

然后make通过。

debian在apt-get进行更新的时候,全量下载会下大概5-8M的文件,所以如果已经全量更新过一次了,debian使用updates with package diffs的模式去增量更新。 这种方式的好处是下载新文件的量要小很多,可能就500K~1M,坏处是会下载很大量的小文件。所以如果你带宽够快,使用pdiff的方式由于要请求很多文件,反而降低了执行速度。
   因此,在服务器上,apt-get用非pdiff方式的方式更好更快。
命令行下可以:

sudo apt-get update -o Acquire::Pdiffs=false

修改/etc/apt/apt.conf配置文件的方式为:

Acquire::PDiffs "false";

前端机服务器的nginx最近很多timeout的连接,看日志和status发现并发的active connections已经超过20K了。
可能已经到了当前系统配置的瓶颈了,于是把ulimit从当前的30000改到60000.
以前的worker_processes*worker_connections = 6*20000, 可以维持6*20k/4 = 30K的连接,但是因为这nginx虽然是前端机,但是本身也是被proxy_pass转发的对象(也作为处理内容的web服务器),因此3万的连接数不够用了,其实nginx耗cpu挺低的,而维持keep-alive的连接非常省空间,几M内存就能维护大量连接。
于是把worker_processes提升到12个。重启nginx,发现效果好多了。