python cffi调用sync实现原子计数及cas

python 35 views
通常python实现原子计数是需要加锁解决的, 我们知道,像count += 1 这种操作不是原子的。一个加法操作,本质是分成三步的: 该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新.  http://xiaorui.cc/?p=4613 程序表...
阅读全文 0

python cffi调用sync实现原子计数及cas

06-20 35 views

通常python实现原子计数是需要加锁解决的, 我们知道,像count += 1 这种操作不是原子的。一个加法操作,本质是分成三步的: 该文章写的有些乱,欢...
阅读全文 0

技术分享之《Python高级内存管理》

python,技术分享 90 views
    前些日子朋友让我过去坐坐,顺便做个关于python的技术分享。话题有他们来挑选的,出了几个主题,最后定了python内存管理话题。  这次ppt做的简而易懂,图多字少,尽量少输出高大上的概念,多拓扑一些实用的概念。 我相信大家有些cpython源码的...
阅读全文 0

技术分享之《Python高级内存管理》

06-13 90 views

    前些日子朋友让我过去坐坐,顺便做个关于python的技术分享。话题有他们来挑选的,出了几个主题,最后定了python内存管理话题。  这次pp...
阅读全文 0

python多进程的cpu亲和性绑定

python 183 views
关于什么是cpu的亲和性的问题,大家自己去搜吧,不想在这里阐述了这讲义了。 简单说,就是让进程不要可哪跑,给定一个cpu core的范围,这样可以减少cs上下文切换后cpu cache miss的情况,节省了主存复制到cpu cache的时间。 该文章写的有些乱,欢迎来喷...
阅读全文 0

python多进程的cpu亲和性绑定

05-27 183 views

关于什么是cpu的亲和性的问题,大家自己去搜吧,不想在这里阐述了这讲义了。 简单说,就是让进程不要可哪跑,给定一个cpu core的范围,这样可以减少cs...
阅读全文 0

python3.6使用aiohttp开发的登陆注册

python 270 views
闲来无事,用python3.6 aiohttp改了一个登陆系统。 不能说系统,就一个demo代码而已。 话说python3.6增了不少的特性,对于我来说比较跟兴趣的是 –with-dtrace 探针功能 和  优化压缩的dict数据结构。  官方测试有说过 python3.6的dict比先...
阅读全文 0

python3.6使用aiohttp开发的登陆注册

05-13 270 views

闲来无事,用python3.6 aiohttp改了一个登陆系统。 不能说系统,就一个demo代码而已。 话说python3.6增了不少的特性,对于我来说比较跟兴趣的是 ...
阅读全文 0

解决rabbitmq消息队列的顺序及重复消费问题

python 407 views
五一期间去韩国游玩,顺便去了朋友公司扯淡去了。 所谓的扯淡,就是过去听技术分享,有python, golang, devops,docker一些话题。总的来说,技术方面跟国内还是有一些差距的。  正题开始,因为业务的各方面的强需求,我们使用了rabbitmq作为消息队列...
阅读全文 0

解决rabbitmq消息队列的顺序及重复消费问题

05-04 407 views

五一期间去韩国游玩,顺便去了朋友公司扯淡去了。 所谓的扯淡,就是过去听技术分享,有python, golang, devops,docker一些话题。总的来说,技术方面跟国...
阅读全文 0

纠结ps和top的cpu占用率不一致问题

python,内核 356 views
恼怒呀,一个大大的失误,让我折腾了近几个小时.   先表明下这是我自己的原因,问题体现在 linux下 ps aux 和 top 查询的cpu信息不一致导致 ! 该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新.  http://xiaorui.cc...
阅读全文 0

纠结ps和top的cpu占用率不一致问题

04-26 356 views

恼怒呀,一个大大的失误,让我折腾了近几个小时.   先表明下这是我自己的原因,问题体现在 linux下 ps aux 和 top 查询的cpu信息不一致导致 ! ...
阅读全文 0

构建高效的python requests长连接池

python 637 views
前文:      最近在搞全网的CDN刷新系统,在性能调优时遇到了requests长连接的一个问题,以前关注过长连接太多造成浪费的问题,但因为系统都是分布式扩展的,针对这种各别问题就懒得改动了。 现在开发的缓存刷新系统,对于性能还是有些敏感的,我...
阅读全文 0

构建高效的python requests长连接池

04-03 637 views

前文:      最近在搞全网的CDN刷新系统,在性能调优时遇到了requests长连接的一个问题,以前关注过长连接太多造成浪费的问题,但因为系...
阅读全文 0

python扩展rocksdb的时序zset数据结构

python 547 views
不啰里啰嗦了,关于leveldb、rocksdb的实现细节有兴趣的朋友自己搜搜,当然我后期会整理下leveldb的大概实现原理,我曾经花过不少心力还研究leveldb、rocksdb的设计及代码实现,受益匪浅的! 时常会回忆起leveldb的Lsm、Memtable、SStable、Manefest、log的设计。 ...
阅读全文 0

python扩展rocksdb的时序zset数据结构

03-21 547 views

不啰里啰嗦了,关于leveldb、rocksdb的实现细节有兴趣的朋友自己搜搜,当然我后期会整理下leveldb的大概实现原理,我曾经花过不少心力还研究leveldb、rocks...
阅读全文 0

基于ringbuffer实现的高性能定时器

python 626 views
      这段时间研究了一个基于ringbuffer的定时器设计方案,思路设计上还是相当有趣的!打算在即时通信实现心跳定时器。以前一聊高性能定时器不外乎就那么几种方法,不是二叉堆,就是epoll timerfd。 我个人感觉来说但后者更适合监听就近到期的任务...
阅读全文 0

基于ringbuffer实现的高性能定时器

03-14 626 views

      这段时间研究了一个基于ringbuffer的定时器设计方案,思路设计上还是相当有趣的!打算在即时通信实现心跳定时器。以前一聊高性能定时...
阅读全文 0

源码分析tornado gen.sleep非阻塞

python,tornado 614 views
前言:       前两天去菲律宾长滩岛度假去了,有段时间没有更新技术文章了。简单说说度假期间发生的事情吧,可能因为心情和身体不理想,所以也没做什么有趣的水上运动,只是在沙滩上看着大海发愣罢了,时常是一呆一上午,再一呆又一个下午。 中间...
阅读全文 0

源码分析tornado gen.sleep非阻塞

03-06 614 views

前言:       前两天去菲律宾长滩岛度假去了,有段时间没有更新技术文章了。简单说说度假期间发生的事情吧,可能因为心情和身体不理想,...
阅读全文 0

线上mysql优化器误判引起慢查询

python 635 views
前言:      收到疯狂的慢查询及请求超时报警,通过metrics分析出来自mysql请求的异常,cli —> show proceslist 看到很多慢查询。 先前该sql是没有的,后面因为数据量的增长才出现了这问题。 虽然feeds表大到一个亿,但因为feeds流...
阅读全文 0

线上mysql优化器误判引起慢查询

02-26 635 views

前言:      收到疯狂的慢查询及请求超时报警,通过metrics分析出来自mysql请求的异常,cli —> show proceslist 看到很多...
阅读全文 0

不要粗暴的销毁python线程

python 904 views
前言:     不要试图用强制方法杀掉一个python线程,这从服务设计上就存在不合理性。 多线程本用来任务的协作并发,如果你使用强制手段干掉线程,那么很大几率出现意想不到的bug。  请记住一点,锁资源不会因为线程退出而释放锁资源 ! ...
阅读全文 0

不要粗暴的销毁python线程

02-22 904 views

前言:     不要试图用强制方法杀掉一个python线程,这从服务设计上就存在不合理性。 多线程本用来任务的协作并发,如果你使用强制手段干掉线...
阅读全文 0

深入理解uwsgi和gunicorn网络模型[上]

python 1,092 views
前言:        去年10月份建了一个python技术群,到现在为止人数已经涨到700人了。最一开始我经常在群里回应大家的问题,不管是简单还是困难的,我都会根据自己的经验来交流。 让人新奇的是一些初学者关注最多的话题不是怎么学好python,反...
阅读全文 0

深入理解uwsgi和gunicorn网络模型[上]

02-16 1,092 views

前言:        去年10月份建了一个python技术群,到现在为止人数已经涨到700人了。最一开始我经常在群里回应大家的问题,不管是简单...
阅读全文 0

python uvloop异步框架学习

python 1,075 views
uvloop 是python圈子里近两年被抄的相当火热的高性能框架,uvloop是个高性能的异步非阻塞框架,他是完整的asyncio事件循环的替代品,建立在libuv基础之上,由Cython编写而成。Uvloop最终目的使得Asyncio更加快速。    根据我个人的测试结果分析uvloop...
阅读全文 0

python uvloop异步框架学习

02-05 1,075 views

uvloop 是python圈子里近两年被抄的相当火热的高性能框架,uvloop是个高性能的异步非阻塞框架,他是完整的asyncio事件循环的替代品,建立在libuv基础之上,...
阅读全文 0

分析apscheduler的定时调度器源码

python 722 views
前言: 跟大家在群里聊了关于apscheduler的一些话题,大家尤其对他的时间管理感兴趣, 趁现在有空,花点时间做个分享。  其实在以前是写过apscheduler的源代码分析文章,写得太泛了,这次主要着重于定时器的相关逻辑。  python下的定时任务框架有那么...
阅读全文 0

分析apscheduler的定时调度器源码

01-22 722 views

前言: 跟大家在群里聊了关于apscheduler的一些话题,大家尤其对他的时间管理感兴趣, 趁现在有空,花点时间做个分享。  其实在以前是写过apschedul...
阅读全文 0

开源模块之uwsgi多功能测试客户端

python 763 views
快过年了,也没什么心思工作了,上面也没安排什么繁重的工作了。 现在有大把的时间干自己喜欢的事情,一直都想下功夫看看uwsgi server的实现源码及uwsgi的协议。以前总是根据喜好挑着代码片段看,不系统。 先前遇到过python gunicorn 和 uwsgi 在不同io模型...
阅读全文 0

开源模块之uwsgi多功能测试客户端

01-19 763 views

快过年了,也没什么心思工作了,上面也没安排什么繁重的工作了。 现在有大把的时间干自己喜欢的事情,一直都想下功夫看看uwsgi server的实现源码及uwsg...
阅读全文 0

小测python3.5高性能sanic异步框架

python 1,677 views
    Python3.4 和 Python3.5 有个较大区别是 asyncio库进化到 async关键字了.    python3.5 当然是向下兼容的,官方在3.5这个版本里推进 async 、await 关键字.    async 其实跟 @asyncio.coroutine  相等的,  await是跟...
阅读全文 0

小测python3.5高性能sanic异步框架

12-30 1,677 views

    Python3.4 和 Python3.5 有个较大区别是 asyncio库进化到 async关键字了.    python3.5 当然是向下兼容的,官方在3.5这个版本里推...
阅读全文 0

Python基于web的在线即时通信IM方案

python,架构设计,高性能 1,715 views
     有不少人天然觉得基于web的在线聊天很麻烦,其实如果只是单纯的实现聊没什么难的,难点在于怎么保证性能啊.   貌似 node.js 、java netty 、golang 的方案及文档较多一点,谁让人家靠着异步非阻塞成名已久….    ...
阅读全文 1

Python基于web的在线即时通信IM方案

11-21 1,715 views

     有不少人天然觉得基于web的在线聊天很麻烦,其实如果只是单纯的实现聊没什么难的,难点在于怎么保证性能啊.   貌似 node.js 、ja...
阅读全文 1

单日抓取十亿级的爬虫框架设计

python 2,399 views
日抓取十亿级的爬虫框架设计 日抓取十亿级的爬虫框架设计 日抓取十亿级的爬虫框架设计 日抓取十亿级的爬虫框架设计 爬虫这个词,让我又爱又恨.    抓过比特币,股票, 微信,微博,各大电商,知乎,汽车论坛,宝宝论坛,几十万的递归网...
阅读全文 11

单日抓取十亿级的爬虫框架设计

10-11 2,399 views

日抓取十亿级的爬虫框架设计 日抓取十亿级的爬虫框架设计 日抓取十亿级的爬虫框架设计 日抓取十亿级的爬虫框架设计 爬虫这个词,让我又爱...
阅读全文 11

使用pre-commit flake8来规范项目的pep8

python 1,558 views
pre-commit的规范 正如pre-commit的字面意思, 他的功能就是在commit之前做一些检测.  大多数是用来检测代码的规范,当然你可以加各种奇葩的需求,当你git commit的时候git会自动调用该脚本.  说来有意思,我见过的python程序员,要不很规范,要不很...
阅读全文 0

使用pre-commit flake8来规范项目的pep8

10-07 1,558 views

pre-commit的规范 正如pre-commit的字面意思, 他的功能就是在commit之前做一些检测.  大多数是用来检测代码的规范,当然你可以加各种奇葩的需求,当你...
阅读全文 0

源码分析peewee orm的读写分离

python 2,312 views
就不再长篇大论了…   我相信很多朋友都在使用ORM库来代替繁杂的原生的sql语句。 但如果有特需一点的需求,比如要主从分离?  我们以前的做法很是暴力,直接修改peewee的源码,当他在调用select相关函数的时候,会重置一个mysql db连接,当然是改成...
阅读全文 1

源码分析peewee orm的读写分离

08-14 2,312 views

就不再长篇大论了…   我相信很多朋友都在使用ORM库来代替繁杂的原生的sql语句。 但如果有特需一点的需求,比如要主从分离?  我们以前的做...
阅读全文 1