05 2019 档案

Python 多进程异常处理
摘要:前言 最近项目用到了Python作为网站的前端,使用的框架是基于线程池的Cherrypy,但是前端依然有一些比较‘重’的模块。由于python的多线程无法很好的利用多核的性质,所以觉得把这些比较‘重’的功能用多进程进行管理。 Python 多进程编程 Python的多进程编程主要依赖multipro 阅读全文

posted @ 2019-05-30 20:35 ExplorerMan 阅读(2206) 评论(0) 推荐(0) 编辑

Python多进程编程-进程间协作(Queue、Lock、Semaphore、Event、Pipe)
摘要:进程与进程之间是相互独立的,互不干扰。如果多进程之间需要对同一资源操作,就需要进程间共享变量,上一篇文章介绍了进程间共享数据的三大类Value、Array、Manager,这三种类的主要区别在于管理的数据类型不同。解决了进程间共享数据的问题,又有新的问题产生,那就是当多进程同时对一个共享资源进行写操 阅读全文

posted @ 2019-05-30 20:03 ExplorerMan 阅读(415) 评论(0) 推荐(0) 编辑

Mongodb 性能测试
摘要:测试硬件环境 MacPro 处理器名称: Intel Core i7 处理器速度: 2.5 GHz 处理器数目: 1 核总数: 4 L2 缓存(每个核): 256 KB L3 缓存: 6 MB 内存: 16 GB 测试软件环境 MongoDB v3.2.4 300W存量数据 1.1 单条插入性能测试 阅读全文

posted @ 2019-05-30 19:27 ExplorerMan 阅读(3548) 评论(0) 推荐(0) 编辑

把 MongoDB 当成是纯内存数据库来使用(Redis 风格)
摘要:基本思想 将MongoDB用作内存数据库(in-memory database),也即,根本就不让MongoDB把数据保存到磁盘中的这种用法,引起了越来越多的人的兴趣。这种用法对于以下应用场合来讲,超实用: 置于慢速RDBMS系统之前的写操作密集型高速缓存 嵌入式系统 无需持久化数据的PCI兼容系统 阅读全文

posted @ 2019-05-30 19:25 ExplorerMan 阅读(3843) 评论(0) 推荐(1) 编辑

MongoDB拥有SSD秒杀高富帅使用过程分享
摘要:【IT168现场报道】2013年4月18-20日,第四届中国数据库技术大会(DTCC 2013)在北京福朋喜来登酒店拉开序幕。在为期三天的会议中,大会将围绕大数据应用、数据架构、数据管理(数据治理)、传统数据库软件等技术领域展开深入探讨,并将邀请一批国内顶尖的技术专家来进行分享。本届大会将在保留数据 阅读全文

posted @ 2019-05-30 19:21 ExplorerMan 阅读(655) 评论(0) 推荐(0) 编辑

SSD卡对mongodb的影响
摘要:结论 1:SSD卡显著改善磁盘IO,io占用在50%以下 2:SSD卡使mongodb性能稳定。在200并发,数据量是内存5倍的情况下仍然保证每秒1500次插入和4500次查询。 数据如下: 1:每秒IO完成次数【均在内存用完的时候】 有SSD卡的每秒完成磁盘次数 以及相应次数下磁盘占用% 没有ss 阅读全文

posted @ 2019-05-30 18:42 ExplorerMan 阅读(435) 评论(0) 推荐(0) 编辑

对GridFS数据进行分片
摘要:On this page files 集合 chunks 集合 On this page files 集合 chunks 集合 在对 GridFS 存储进行分片时,需要注意以下的情况: files 集合 大多数情况下不需要对 files 集合进行分片,这个集合通常很小,只包含了一些元信息.集合中也没 阅读全文

posted @ 2019-05-30 12:13 ExplorerMan 阅读(618) 评论(0) 推荐(0) 编辑

python 将图片存入mongodb,读取图片,gridfs模块
摘要:导入图片引入模块,其中gridfs模块不需要单独安装,引入了pymongo即可直接引入from pymongo import MongoClientfrom gridfs import *import os#链接mongodbclient=MongoClient('localhost',27017) 阅读全文

posted @ 2019-05-30 12:09 ExplorerMan 阅读(2342) 评论(0) 推荐(0) 编辑

gunicorn 信号处理(SIGHUP,SIGUSR2)
摘要:正文 在这篇文章中,提到了Master进程对信号的处理函数,其中有两个信号比较有意思。 SIGHUP:用来热更新(Reload)应用 SIGUSR2:用来在线升级(upgrade on the fly)gunicorn 下面来详细看一下: SIGHUP: Reload the configurati 阅读全文

posted @ 2019-05-28 10:36 ExplorerMan 阅读(514) 评论(0) 推荐(0) 编辑

SUPERVISOR进程管理器配置指南
摘要:1. supervisor简介 1.1. 官网 http://supervisord.org/ 1.2. 介绍 Supervisor是一个进程控制系统. 它是一个C/S系统(注意: 其提供WEB接口给用户查询和控制), 它允许用户去监控和控制在类UNIX系统的进程. 它的目标与launchd, da 阅读全文

posted @ 2019-05-28 10:35 ExplorerMan 阅读(715) 评论(0) 推荐(0) 编辑

进程管理supervisor的简单说明
摘要:背景: 项目中遇到有些脚本需要通过后台进程运行,保证不被异常中断,之前都是通过nohup、&、screen来实现,带着能否做一个start/stop/restart/reload的服务启动的想法找到里Supervisor。关于supervisor的介绍在网上大致搜索总结如下: Supervisor是 阅读全文

posted @ 2019-05-27 22:04 ExplorerMan 阅读(148) 评论(0) 推荐(0) 编辑

flask扩展系列之 - 访问速度限制
摘要:flask-limiter 是一个对客户端的访问速率进行限制的flask扩展.可以自定义一些访问的(速度)限制条件来把那些触发限制的请求拒之门外.一般常用来进行对爬虫的限制. 下面就常见的用法,举了一些例子.更多的例子,请自己查看原始文档. from flask import Flask, requ 阅读全文

posted @ 2019-05-23 16:27 ExplorerMan 阅读(728) 评论(0) 推荐(0) 编辑

爱奇艺面试Python,竟然挂在第5轮…(转)
摘要:今天给大家分享我曾经在爱奇艺的面试,过程还是比较有意思的,可以给大家一些参考 聊骚阶段 嗲妹妹:你好,我是爱奇艺的HR,我们正在招聘运维开发岗位,请问您最近有在看工作机会吗? 我:(这声音也太酥了吧我去……)嗯,你好,信号不太好,能在说下吗?(让我再酥一次吧) 嗲妹妹:(重复) 我:(我去,真的好酥 阅读全文

posted @ 2019-05-23 11:57 ExplorerMan 阅读(207) 评论(0) 推荐(0) 编辑

RabbitMQ最佳实践
摘要:RabbitMQ最佳实践 在使用消息机制时,我们通常需要考虑以下几个问题: 消息不能丢失 保证消息一定能投递到目的地 保证业务处理和消息发送/消费的一致性 本文以RabbitMQ为例,讨论如何解决以上问题。 消息持久化 如果希望RabbitMQ重启之后消息不丢失,那么需要对以下3种实体均配置持久化: 阅读全文

posted @ 2019-05-23 11:37 ExplorerMan 阅读(345) 评论(0) 推荐(0) 编辑

Linux生成私钥和公钥免密连接
摘要:A为本地主机(即用于控制其他主机的机器) ; B为远程主机(即被控制的机器Server), 假如ip为172.24.253.2 ; A和B的系统都是Linux 在A上的命令: # ssh-keygen -t rsa (连续三次回车,即在本地生成了公钥和私钥,不设置密码) # ssh root@172 阅读全文

posted @ 2019-05-22 20:15 ExplorerMan 阅读(360) 评论(0) 推荐(0) 编辑

mongo 慢查询配置
摘要:我是分片部署,所以慢查询相关的配置是在启动片服务上。 执行查询命令,是在share的primary 上。 1. mongodb慢查询 配置 慢查询数据主要存储在 local库的system.profile集合,该集合主要是一个capped collection。 开启方式两种: 第一种:片服务启动时 阅读全文

posted @ 2019-05-22 19:00 ExplorerMan 阅读(360) 评论(0) 推荐(0) 编辑

监控Mongo慢查询
摘要:监控Mongo慢查询 1. 使用mongostat监控MongoDB全局情况 mongostat是mongdb自带的状态检测工具,在命令行下使用。它会间隔固定时间获取MongoDB的当前运行状态,并输出。 mongostat是mongdb自带的状态检测工具,在命令行下使用。它会间隔固定时间获取Mon 阅读全文

posted @ 2019-05-22 18:50 ExplorerMan 阅读(378) 评论(0) 推荐(0) 编辑

MongoDB 3.6 开启慢查询
摘要:参考:Profiling Levels:支持一下级别。0 默认的profiler level,profiler 关闭并且不收集数据。1 profiler 收集超过slowms的操作数据。2 profiler 收集所有的数据。 设置收集数据:设置级别为1,慢查询标准为200ms. rs0:PRIMAR 阅读全文

posted @ 2019-05-22 18:39 ExplorerMan 阅读(259) 评论(0) 推荐(0) 编辑

解决“/bin/bash^M: bad interpreter: No such file or directory”
摘要:在执行shell脚本时提示这样的错误主要是由于shell脚本文件是dos格式,即每一行结尾以\r\n来标识,而unix格式的文件行尾则以\n来标识。 查看脚本文件是dos格式还是unix格式的几种办法。(1)cat -A filename 从显示结果可以判断,dos格式的文件行尾为^M$,unix格 阅读全文

posted @ 2019-05-22 16:45 ExplorerMan 阅读(300) 评论(0) 推荐(0) 编辑

用shell脚本实现MongoDB数据库自动备份
摘要:一、创建MongoDB备份目录 用来存放数据 mkdir -p /data/mongodb_bak/mongodb_bak_now mkdir -p /data/mongodb_bak/mongodb_bak_list mkdir -p /data/mongodb_bak/mongodb_bak_l 阅读全文

posted @ 2019-05-22 16:44 ExplorerMan 阅读(1131) 评论(0) 推荐(0) 编辑

和豆瓣CMGS交流
该文被密码保护。

posted @ 2019-05-21 15:39 ExplorerMan 阅读(0) 评论(0) 推荐(0) 编辑

用threading 解决 gunicorn worker timeout
摘要:产生worker timeout 的背景 while 1: ..... time.sleep(1) gunicorn运行起来,只等待了30s,就卡住了,没报任何异常或err,查了gunicorn 官方文档,原来是线程默认等待30s 就kill 掉,再restart http://docs.gunic 阅读全文

posted @ 2019-05-21 14:56 ExplorerMan 阅读(2129) 评论(0) 推荐(0) 编辑

Python中多线程的阻塞问题
摘要:在使用Queue模块+多线程模拟生产者+消费者问题时,遇到了一个小问题,现在记录下来。供可能会遇到类似问题的初学者们参考。 该问题的完整参考代码如下。主要实现了以下的功能:在一个线程中,开启生产者模式,生成出来的object会put进一个Queue对象queue中。除此以外,在n个线程中(本代码中n 阅读全文

posted @ 2019-05-20 16:51 ExplorerMan 阅读(1333) 评论(0) 推荐(0) 编辑

python如何发布自已pip项目
摘要:python如何发布自已pip项目前言因为自已平时会把一个常用到逻辑写成一个工具python脚本,像关于时间字符串处理,像关于路径和文件夹遍历什么的工具。每一次新建一个项目的时候都要把这些工具程序复制到每个项目中,换一个电脑后还要从github生新下载后再复制到项目中,实在太麻烦。最后想想,还是建一 阅读全文

posted @ 2019-05-13 21:28 ExplorerMan 阅读(216) 评论(0) 推荐(0) 编辑

flask插件系列之flask_caching缓存
摘要:前言 为了尽量减少缓存穿透,同时减少web的响应时间,我们可以针对那些需要一定时间才能获取结果的函数和那些不需要频繁更新的视图函数提供缓存服务,可以在一定的时间内直接返回结果而不是每次都需要计算或者从数据库中查找。flask_caching插件就是提供这种功能的神器。 flask_caching 安 阅读全文

posted @ 2019-05-13 18:01 ExplorerMan 阅读(438) 评论(0) 推荐(0) 编辑

ubuntu 开机启动shell脚本
摘要:1.创建shell启动脚本test 2.将启动脚本复制到 /etc/init.d 目录下 3.设置脚本文件权限 sudo chmod 755 /etc/init.d/test 4.设置脚本启动 sudo update-rc.d test defaults 95 //95 为启动优先级,越小优先级越高 阅读全文

posted @ 2019-05-10 16:54 ExplorerMan 阅读(1649) 评论(0) 推荐(0) 编辑

ubuntu15.4、16.4、17.4设置nginx自启动
摘要:ubuntu15.4、16.4、17.4设置nginx自启动记录个小问题,备忘录。花了大半天的时间研究这个,网上大多ubuntu、centos的配置nginx开机自启的都是之前的 Upstart/Sysinitv配置方法,所以配置了没用也很正常,原因在自从ubuntu15.4和centos7开始,已 阅读全文

posted @ 2019-05-10 16:51 ExplorerMan 阅读(223) 评论(0) 推荐(0) 编辑

Python-doc rst文件打开
摘要:阅读目录 1.安装python的sphinx模块: 2.build输出html的目录 回到顶部 Python rst文件打开 RST与Python类似Javadoc与Java. 如果下载了别人的Python源码,里面有rst文件夹,我们可以转为html后用浏览器打开 某个开源项目的index.rst 阅读全文

posted @ 2019-05-07 19:15 ExplorerMan 阅读(497) 评论(0) 推荐(0) 编辑

程序员修神之路--redis做分布式锁可能不那么简单
摘要:菜哥,复联四上映了,要不要一起去看看? 又想骗我电影票,对不对? 呵呵,想去看了叫我呀 看来你工作不饱和呀 哪有,这两天我刚基于redis写了一个分布式锁,很简单 不管你基于什么做分布式锁,你觉得很简单吗?来来来 在计算机世界里,对于锁大家并不陌生,在现代所有的语言中几乎都提供了语言级别锁的实现,为 阅读全文

posted @ 2019-05-05 11:14 ExplorerMan 阅读(286) 评论(0) 推荐(0) 编辑

导航

< 2025年4月 >
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 1 2 3
4 5 6 7 8 9 10
点击右上角即可分享
微信分享提示