使用python做大数据缓存时遇到的问题

python 4,937 views
  被gc和weakref打败了。 这两天在折腾一个数据缓存的rpc服务,简单说就是个内存缓存,计划不打算用redis,memcached。  因为毕竟这些nosql是跨进程的,链接又是tcp链接,肯定是有损耗的。  但是,我想的太简单了。 再实现的过程中,发现内存...
阅读全文 3

使用python做大数据缓存时遇到的问题

09-29 4,937 views

  被gc和weakref打败了。 这两天在折腾一个数据缓存的rpc服务,简单说就是个内存缓存,计划不打算用redis,memcached。  因为毕竟这些nosql是...
阅读全文 3

python下的ahocorasick实现快速的关键字匹配

python 7,351 views
这两天在折腾下数据的分析及导出,爬虫抓取页面的时候,我们会坐做关键字的匹配,在数据库中标记这个url是否有我们需要的关键字。 这个时候你不能再用find()了,这太没有效率了,而且你会发现在同时处理几千个任务的时候,会出现cpu的瓶颈。 如果采用ahocorasick来...
阅读全文 1

python下的ahocorasick实现快速的关键字匹配

09-21 7,351 views

这两天在折腾下数据的分析及导出,爬虫抓取页面的时候,我们会坐做关键字的匹配,在数据库中标记这个url是否有我们需要的关键字。 这个时候你不能再用find(...
阅读全文 1

使用HashRing实现python下的一致性hash

python 7,522 views
前言:         我们在实现服务器负载均衡时候可供选择的负载均衡的算法有很多,包括:  轮循算法(Round Robin)、哈希算法(HASH)、最少连接算法(Least Connection)、响应速度算法(Response Time)、加权法...
阅读全文 0

使用HashRing实现python下的一致性hash

09-20 7,522 views

前言:         我们在实现服务器负载均衡时候可供选择的负载均衡的算法有很多,包括:  轮循算法(Roun...
阅读全文 0

使用pdb和profile更好友的调试python程序性能

python 5,148 views
往常咱们测试程序,尤其是单个脚本及函数的性能,更多的是使用time.time() 来计算。 其实完全可以不要这样。 python语言有个Cprofile 库,是来分析所有过程的时间消耗的。  Python import time t = 0 def a(): ...
阅读全文 0

使用pdb和profile更好友的调试python程序性能

09-18 5,148 views

往常咱们测试程序,尤其是单个脚本及函数的性能,更多的是使用time.time() 来计算。 其实完全可以不要这样。 python语言有个Cprofile 库,是来分析所有过程...
阅读全文 0

kibana和elasticsearch实现实时监控图表[下]

python 9,438 views
前言:        此文接的是上篇,上次的内容是,用python操作elasticsearch存储,实现数据的插入和查询。  估计有些人一看我的标题,以为肯定是 logstash kibana elasticsearch的组合。这三个家伙也确实总是勾搭在一块。 其实logstash...
阅读全文 0

kibana和elasticsearch实现实时监控图表[下]

09-16 9,438 views

前言:        此文接的是上篇,上次的内容是,用python操作elasticsearch存储,实现数据的插入和查询。  估计有些人一看我的...
阅读全文 0

使用python操作elasticsearch实现监控数据及kibana分析

python 9,325 views
前言:     例行公事,有些人可能不太了解elasticsearch,从别的文章找到一个介绍,大家瞅一眼。 Elasticsearch是一款分布式搜索引擎,支持在大数据环境中进行实时数据分析。它基于Apache Lucene文本搜索引擎,内部功能通过ReST AP...
阅读全文 0

使用python操作elasticsearch实现监控数据及kibana分析

9,325 views

前言:     例行公事,有些人可能不太了解elasticsearch,从别的文章找到一个介绍,大家瞅一眼。 Elasticsearch是一款分布...
阅读全文 0

使用bloomfilter实现亿级别爬虫url链接去重对比

python 8,100 views
这边的爬虫系统又出现了一些个瓶颈。由于网络间的链接错综复杂,蜘蛛在网络间爬行很可能会形成“环”。为了避免形成“环”,就需要知道蜘蛛已经访问过那些URL。一开始我们首先排除掉了set集合,虽然set集合比数组类型的list。但是内存占用的大小,和几十亿条数据对...
阅读全文 4

使用bloomfilter实现亿级别爬虫url链接去重对比

09-14 8,100 views

这边的爬虫系统又出现了一些个瓶颈。由于网络间的链接错综复杂,蜘蛛在网络间爬行很可能会形成“环”。为了避免形成“环”,就需要知道蜘蛛已经访问过那些U...
阅读全文 4

python使用异步任务celery出现异常崩溃时retry重试

python 8,277 views
前言:     python下的celery是啥东西大家应该有了解,是一个异步的任务框架 。话说,  我以前写过一个报警平台的项目,也需要任务的扩展成分布式,当时总是觉得 用celery不是那么太靠谱,所以就自己写了一个分布式的任务派发的系统。 ...
阅读全文 0

python使用异步任务celery出现异常崩溃时retry重试

09-12 8,277 views

前言:     python下的celery是啥东西大家应该有了解,是一个异步的任务框架 。话说,  我以前写过一个报警平台的项目,也需要任务...
阅读全文 0

全文索引之python操作elasticsearch数据及图表分析

python 8,162 views
前言:     例行公事,有些人可能不太了解elasticsearch,下面搜了一段,大家瞅一眼。 Elasticsearch是一款分布式搜索引擎,支持在大数据环境中进行实时数据分析。它基于Apache Lucene文本搜索引擎,内部功能通过ReST API暴露给外...
阅读全文 4

全文索引之python操作elasticsearch数据及图表分析

09-11 8,162 views

前言:     例行公事,有些人可能不太了解elasticsearch,下面搜了一段,大家瞅一眼。 Elasticsearch是一款分布式搜索引擎...
阅读全文 4

使用多线程和gevent来提高celery性能及稳定性

python 9,074 views
前言:       有朋友问我,我那个任务队列是怎么实现,他的疑问其实主要是celery不支持多线程。先说说我那实现的方法,其实我的做法和celery、rq这样的框架很像的,都是把任务push到队列里面,然后pull取出任务而已,celery里面还可以取任...
阅读全文 2

使用多线程和gevent来提高celery性能及稳定性

9,074 views

前言:       有朋友问我,我那个任务队列是怎么实现,他的疑问其实主要是celery不支持多线程。先说说我那实现的方法,其实我的做...
阅读全文 2

谈谈gevent的协程间通信及队列和事件event用法

python 7,394 views
前言:     今天就写点gevent的高级点的用法,对于我来说 这些也是常用的gevent模块。 gevent的AsyncResutl模块的用途,看字眼的意思是一个异步的任务的结果。 其实官方的说法也让人有些发蒙。  其实说白了就是协程间的...
阅读全文 1

谈谈gevent的协程间通信及队列和事件event用法

7,394 views

前言:     今天就写点gevent的高级点的用法,对于我来说 这些也是常用的gevent模块。 gevent的AsyncResutl模块的用...
阅读全文 1

python通过thrift针对hbase的性能测试

python 7,833 views
     这两天正在做mysql到hbase的数据迁移,本人java玩不转,用的是thrift hbase的手段。 一开始写入的时候,速度居然才有100,这太闹了把。  忍无可忍也,查了下资料,别人是用java,速度基本是在1500左右。  我就纳闷了,用java速...
阅读全文 0

python通过thrift针对hbase的性能测试

09-10 7,833 views

     这两天正在做mysql到hbase的数据迁移,本人java玩不转,用的是thrift hbase的手段。 一开始写入的时候,速度居然才有100,这太闹...
阅读全文 0

使用python的分布式任务队列huey实现任务的异步化

python 6,503 views
前言:     一个轻型的任务队列,功能和相关的broker没有celery强大,重在轻型,而且代码读起来也比较的简单。  这次算是原文的翻译了….  一开始看到这个东西的时候,想看看有没有中文的资料,能立马的入门,结果一看老外...
阅读全文 0

使用python的分布式任务队列huey实现任务的异步化

09-09 6,503 views

前言:     一个轻型的任务队列,功能和相关的broker没有celery强大,重在轻型,而且代码读起来也比较的简单。  这次算是原...
阅读全文 0

python multiprocessing进程通信的pipe和queue方式

python 9,586 views
这两天温故了python 的multiprocessing多进程模块,看到的pipe和queue这两种ipc方式,啥事ipc? ipc就是进程间的通信模式,常用的一半是socke,rpc,pipe和消息队列等。  今个就再把pipe和queue搞搞。 Python ...
阅读全文 0

python multiprocessing进程通信的pipe和queue方式

09-08 9,586 views

这两天温故了python 的multiprocessing多进程模块,看到的pipe和queue这两种ipc方式,啥事ipc? ipc就是进程间的通信模式,常用的一半是socke,rpc,p...
阅读全文 0

扯扯python调用rpc实现分布式系统

python 10,594 views
今个来通俗的讲rpc是什么? rpc 一般俗称,远程过程调用,把本地的函数,放到远端去调用。 通常我们调用一个方法,譬如: sumadd(10, 20),sumadd方法的具体实现要么是用户自己定义,要么存在于该语言的库函数中,也就说在sumadd方法的代码实现在本地,...
阅读全文 3

扯扯python调用rpc实现分布式系统

07-18 10,594 views

今个来通俗的讲rpc是什么? rpc 一般俗称,远程过程调用,把本地的函数,放到远端去调用。 通常我们调用一个方法,譬如: sumadd(10, 20),sumad...
阅读全文 3

一个由cython扩展的高性能web框架 falcon

python 7,055 views
Falcon 是个看起来很霸道的一个web框架,他的小伙伴有cython(一个python c代码扩展),gunicorn(一个要比uwsgi给力的网关) Python [root@66 ~]# pip install cython falcon Downloading/unpacking cython Downloading Cython-...
阅读全文 0

一个由cython扩展的高性能web框架 falcon

06-19 7,055 views

Falcon 是个看起来很霸道的一个web框架,他的小伙伴有cython(一个python c代码扩展),gunicorn(一个要比uwsgi给力的网关) Python ...
阅读全文 0

用python pyes操作elasticsearch api接口遇到的问题

python 8,072 views
尼玛,pyes一直都有问题,算了直接用es推荐的那个py吧 Python from elasticsearch import Elasticsearch from datetime import datetime es = Elasticsearch() for i in xrange(3000): nima=random_str(...
阅读全文 3

用python pyes操作elasticsearch api接口遇到的问题

06-01 8,072 views

尼玛,pyes一直都有问题,算了直接用es推荐的那个py吧 Python from elasticsearch import Elasticsearch ...
阅读全文 3

python利用smtplib发送html邮件在exchange遇见的问题

python 6,103 views
总结下,在exchange做mta的情况,html邮件不能用 <pre>标签,  哥就是被这个郁闷的死去活来的。 发送html邮件是很平常的事情,但是不知道啥原因 ,  这次始终有问题,最后才确定是pre  。。。  ...
阅读全文 0

python利用smtplib发送html邮件在exchange遇见的问题

05-30 6,103 views

总结下,在exchange做mta的情况,html邮件不能用 <pre>标签,  哥就是被这个郁闷的死去活来的。 发送html邮件是很平常的事情,但是...
阅读全文 0

gevent安装的一个问题

python 5,335 views
gevent/core.c:17653: 警告:隐式声明函数‘evhttp_free’ gevent/core.c: 在函数‘__pyx_pf_6gevent_4core_4http_6bind’中: gevent/core.c:17886: 警告:隐式声明函数‘evhttp_bind_socket’ gevent/core.c: 在函数‘__pyx_pf_6gevent_4core_4http_8accept’中: gevent/cor...
阅读全文 0

gevent安装的一个问题

05-27 5,335 views

gevent/core.c:17653: 警告:隐式声明函数‘evhttp_free’ gevent/core.c: 在函数‘__pyx_pf_6gevent_4core_4http_6bind’中: gevent/core.c:17886: 警告:隐式声...
阅读全文 0

获取redis队列里面内容并修改

python 4,877 views
LRANGE key start stop 返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定。 下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,...
阅读全文 0

获取redis队列里面内容并修改

05-07 4,877 views

LRANGE key start stop 返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定。 下标(index)参数 ...
阅读全文 0

使用Tornado-Redis 让你的redis访问非堵塞

python 8,613 views
Tornado-Redis vs Redis-py 一个配合tornado后,可以做非堵塞模块,另一个是python官方推荐的redis模块。 tornado-redis官方的例子 Python import tornadoredis import tornado.web import tornado.gen ...
阅读全文 0

使用Tornado-Redis 让你的redis访问非堵塞

05-06 8,613 views

Tornado-Redis vs Redis-py 一个配合tornado后,可以做非堵塞模块,另一个是python官方推荐的redis模块。 tornado-redis官方的例子 ...
阅读全文 0