- 博客(17)
- 收藏
- 关注
Non-blocking/Evented/IO 将会改变我们传统的编程模式
最近Node.js 很火, 我对此很有兴趣,因为之前我自己也在使用Perl的AnyEvent。 Event/IO的一个要点是non-blocking。 Nginx能够解决c10k的问题,一个关键是使用 Event Loop取代传统的thread/pre-fork。要想充分发挥nginx的优势,需要后端和对应 模块都能够non-blocking才行。 然而,现实多数的架构...
2010-05-17 00:06:24
140
MongoDB的备份方式
简要说一下MongoDB的备份方式: 1. mogodump / mongorestore 这2命令将mongodb的数据dump为BSON格式,需要的时候可以恢复。这种方式作为小的数据库还适用。但如果是sharding或者几百G数据以上的话就几乎不可用了。因为BSON及其占用空间。 2. Slave Replication 这是最适合和可靠的,适合生产环境。MongoDb支持mas...
2010-05-05 00:52:01
225
原创 MongoDB:PHP中存储和调用server side 自定义函数
在MongoDB 从1.1.x版本开始可以将server side code存储,这样可以一次性导入或者存储函数定义后, 就可以在$where等中使用这些函数. 在PHP driver中如何存储和定义这些js 函数? 目前似乎没有直接的简单方法. 如果调用MongoDb::execute是不行的. 我的解决方法使用曲线救国,通过将代码save到system.js进行存储,通过execute ...
2009-12-20 03:56:21
269
MongoDB的Perl driver的中文乱码问题
Perl下面向mongodb插入中文字符串会出现乱码. 根据MongoDB的文档, MongoDB支持UTF-8的编码. 但在Perl中, 如果直接使用utf8的字符串,也会出现问题. 测试代码: my $mongo_dbh = $mongo_connection->get_database( $mongo_db ); my $t = $mongo_dbh->get_co...
2009-12-18 15:16:59
225
Patch for build gmagick on mac osx 10.6(snow leopard)
在mac osx 10.6.2(snow leopard)编译gmagick失败. 错误如下: ld: duplicate symbol _php_gmagick_sc_entry in .libs/gmagick_methods.o and .libs/gmagick_helpers.o collect2: ld returned 1 exit status make: *** [gmag...
2009-12-02 17:33:27
105
解决GraphicsMagick 和 ImageMagick冲突(PHP imagick and gmagick extension)
发现PHP imagick or magickwand无法正确加载. 经过测试发现是由于和gmagick冲突. 解决, 在编译GraphicsMagick时候加入: –enable-symbol-prefix 重新编译后正常.
2009-12-02 08:18:29
588
原创 Php-fpm 0.6+PHP 5.2.11+nginx 0.8.28 设置PATH_INFO
从5.2.6升级到5.2.11后PATH_INFO突然无法使用了(no input file). 不知道是谁的问题. 解决: 必须使用NGINX的fastcgi_split_path_info. location ~ .*\.php(.*)$ { fastcgi_split_path_info ^(.+\.php)(.*)$; include fastcgi_para...
2009-12-02 00:57:47
154
Php-fpm 0.6+PHP 5.2.11+nginx 0.8.28 设置PATH_INFO
从5.2.6升级到5.2.11后PATH_INFO突然无法使用了(no input file). 不知道是谁的问题(新的php-fpm导致). 解决: 必须使用NGINX的fastcgi_split_path_info. location ~ .*\.php(.*)$ { fastcgi_split_path_info ^(.+\.php)(.*)$; include f...
2009-12-01 13:26:49
204
GraphicsMagick OpenMP 性能比较(icc+iomp vs gcc+gomp)
GraphicsMagick(GM)是ImageMagick(IM)的可替代的图片处理 方案,但是, GraphicsMagick比ImageMagick具有性能高,稳定的优点. 而且, IM能实现的,GM都可以做到. IM的最大问题就是代码变动太大,不够稳定. GM相对而言要稳定对了, 此外体积也没有GM那么臃肿. Flickr 从2004年后就放弃了ImageMagick而使用Graph...
2009-12-01 07:49:57
606
使用ICC优化编译Mysql percona 分支(Compile mysql-percona v5.0.87)
生产环境跑的是打了google mysql-patch v4的mysql, 运行效果一直不错. Percona提供的mysql补丁集也不错, 尤其是增加了很多有用的信息,在运行时分析性能瓶颈很有用. Google的v3/v4补丁相对来说就少了一些. 最新的5.0.97b20出来后,我决定替换slave,目的是希望更方便的分析运行期统计信息. 和google v4一样,我使用了新的icc v1...
2009-11-28 16:39:46
169
Compile gearmand with icc (ICC v11.x编译Gearmand)
系统已安装: 1. tcmalloc (google-perftools-1.4 ) 2. libmemcached v0.35(v0.30+) 编译gearmand-0.10: tar zxvf gearmand-0.10.tar.gz ./compile-gearman.sh =========gearman.sh===== make distclean CC=icc \ ...
2009-11-28 16:10:03
133
Compile gearmand with icc (ICC v11.x编译Gearmand)
系统已安装: 1. tcmalloc (google-perftools-1.4 ) 2. libmemcached v0.35(v0.30+) 编译gearmand-0.10: tar zxvf gearmand-0.10.tar.gz ./compile-gearman.sh =========gearman.sh===== make distclean CC=icc \ ...
2009-11-28 16:10:03
100
My deployment keynote
1. Mysql(percona branch 5.0.x) * 主数据库 * Master-Master replication( MMM powered) 2. MongoDb * GridFS, 分布式文件存储 * Some models(Logging,Tag, etc.) 3. Flare * cluster * Session storage(persisten me...
2009-11-28 14:49:38
103
MongoDb Replication
MongoDb的Replication支持: 1. master-slave: slave可以有多个. 2. Replica Pairs 实际上是一个failover的master-slave模式. 启动时,2个node的mongo会协商,其中1个成为master,另一个为slave. 当master down了,那么slave会自动接管成为master. 不过,这种模式需要driver...
2009-11-25 17:45:58
98
Compile php+php-fpm with ICC v11.1
打算把生产环境的PHP升级到5.2.11, 于是重新使用ICC编译了PHP-5.2.11+PHP-FPM-0.6. 结果编译时失败,出现以下错误: fpm_atomic.h(116): catastrophic error: #error directive: unsupported architecture. please write a patch and send it in ...
2009-11-23 18:59:19
137
闲谈MongoDb+GridFS+Nginx
MongoDb果然是个好东西. 我在最近的一个项目实践中, 实验性的用到了这个东西. 在测试中,对于GridFS相当满意. 首先, 和传统的MogileFS不同, gridfs可以和其它的meta数据部署在同一个 db中,默认的会为gridfs的collection分别创建fs.files和fs.chunks. 当存储一个文件时,可以附加存入任意的附加信息,因为这些信息实际上也是一个普通的c...
2009-11-12 16:05:11
98
SnowLeopard编译Perl DBD-Mysql出现 Can’t find ‘boot_DBD__mysql’ symbol
由于重新升级了macports,Perl更新l到5.10.1,原先的CPAN库要重装。不使用系统的Perl是因为避免今后OSX更新导致的问题。在DBD-Mysql make test时出现: # Failed test ‘use DBD::mysql;’ # at t/00base.t line 21. # Tried to use ‘DBD::mysql’. # ...
2009-08-31 16:55:47
149
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人