R.T.
另外,看文档上说 elasticsearch 这个官方实现中,是使用长连接来实现通信的。
如果改用 Tornade 内置的 http 访问功能,或者 request with gevent 的方式,每次都单独发起一个 http 请求,会对效率有多少影响?为什么官方不采用这种方式呢?
(我在自己的电脑上测试,平均每次连接用时 1.5 ms 左右,对于动辄 100ms 的查询、1000ms 的搜索耗时来说,貌似并不是个事儿 ~)
1
cevincheung 2015-06-12 18:51:12 +08:00
elasticsearch能自己http访问添加数据?
|
2
Feiox OP @cevincheung 可以呀,通过 restful http api
|
3
cevincheung 2015-06-12 19:24:29 +08:00
|
4
VYSE 2015-06-12 19:27:03 +08:00
直接用gevent monkey patch socket了
|
5
sivacohan 2015-06-12 19:27:32 +08:00 via Android
需要异步上celery吧。比较通用的解决办法。
|
6
Feiox OP @cevincheung 额。。不是,我是说客户端,就是 python server 这边。。。囧rz
@sivacohan 感觉既然 es 人家都提供了 restful http api 然后 Tornade 又提供了异步的 http client,然后…… @VYSE 就是我说的 requests with gevent 啊。。。。这样频繁对 es 服务器发起请求,会不会有什么问题? |
8
zts1993 2015-06-13 21:44:49 +08:00
先快速保存到数据库中(如mongo),然后用redis做个队列,再开一个程序去处理队列,,,,
好像有点过于复杂了,是不是。。 |