This topic created in 5245 days ago, the information mentioned may be changed or developed.
首先,这个系统从一开始就是冲着全文和正则搜索去的,如果不需要全文和正则也就不用这么折腾了。在现在的数据量下,单机做全文搜索的确很蛋疼,再牛逼的服务器也无法做到实时返回。
新系统的大概原理是,在多个节点上部署查询守护程序,在一台机器上部署Web Server。
当一个查询请求产生时,Web Server通过HTTP将这个请求分发到各个节点上(每个节点只负责特定的一部分文件,这个量可以根据节点的运算能力调整)。
当所有节点返回时,Web Server返回结果。
具体技术实现是这样,每个节点用的是Gevent + 一个简单的HTTP Server,直接spawn出grep查询文件。
Web Server使用Tornado,异步调用所有节点。
单机测试效果不错,但是我没有足够的节点,无法使其发挥出最大的威力。
大家有什么看法?
2 replies • 1970-01-01 08:00:00 +08:00
 |
|
2
dndx Dec 29, 2011
@ cloudream 这个我试过的,最初的是在一台16G的服务器上映射了8G做ramfs,查询文件全放进去。在有了一定并发以后真正的瓶颈在于CPU而不是内存。在8个超线程下同时进行8个任务就是极限了,再多就会爆掉。
|