自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(115)
  • 资源 (2)

原创 eventlet并发读写socket出现Second simultaneous问题

描述celery+eventlet实现任务调用时出现RuntimeError: Second simultaneous read on fileno 14 detected. Unless you really know what you’re doing, make sure that only one greenthread can read any particular socket模拟错误网上找的一段代码,模拟出同样问题def main(): import eventlet

2020-07-08 10:52:10 96

原创 celery配合redis出现redis.exceptions.InvalidResponse Protocol Error

说明celery+redis实现异步任务,如果涉及到频繁的io调用,可能会出现错误redis.exceptions.InvalidResponse: Protocol Error错误内容redis.exceptions.InvalidResponse: Protocol Error: {, b'\"status\": \"SUCCESS\", \"result\":xxxx \"traceback\": null, \"children\": [], \"date_done\": \"2020-06-

2020-06-21 09:30:28 219

原创 eventlet在ubuntu上出现OSError protocol not found

描述tensorflow的nvidia docker镜像使用ubuntu16.04, ubuntu是精简之后的,有些包可能没有。在上面运行eventlet会出现下面问题错误内容Traceback (most recent call last): File "/app/defect-client/defect_client/cmd/wafer-worker.py", line 14, in <module> import eventlet File "/usr/local/

2020-06-21 09:25:11 172

原创 celery变量共享

问题很多情况下我们想让task共享变量,该怎么做?celery的并发原理celery的并发任务池,有eventlet, gevent, prefork, thread类型eventlet/gevent协程: 只有一个进程一个线程, 全局变量在task之间共享prefork属于multiprocessing: multiprocessing全局变量也是共享的thread多线程: 全局变量共享验证方法用ab命令模拟大量并发,很容易测试出来ab -n 1000 -c 100 -p ./post.

2020-06-21 09:21:18 252

原创 protobuf序列化numpy

说明protobuf处理不能直接处理numpy,需要先把numpy转为字节numpy转字节import numpy as npfrom io import BytesIOA = np.array([ 1, 2, 3, 4, 4, 2, 3, 4, 5, 3, 4, 5, 6, 7, 2, 5, 6, 7, 8, 9, 6, 7, 8, 9, 0 ]).reshape(5,5) # numpy 转bytesnda_bytes

2020-06-15 15:05:38 195

原创 基于docker搭建cephfs分布式文件

目的在一台机器上, 利用多块硬盘, 搭建一个cephfs文件系统. 具体来说就是1个mon, 1个mds, 1个mgr, 3个osd注意a. 使用vmware会很方便b. 安装过程中会遇到很多问题,我都没有记录, 尽量安装下面步骤环境准备a. vmware虚拟机fedora30b. 添加3块虚拟机硬盘 /dev/sdb /dev/sdc /dev/sdd (osd最少需要3个,需要有3块磁盘)c. ceph容器版本 ceph/daemon:latest-luminous搭建步骤下载镜

2020-05-27 12:38:53 206

原创 tensorflow资源耗净 Resource exhausted OOM when allocating tensor with shape

描述tensorflow跑训练集经常会遇到错误Resource exhausted: OOM when allocating tensor with shape[64,33,33,2048]错误内容tensorflow.python.framework.errors_impl.ResourceExhaustedError: 2 root error(s) found. (0) Resou...

2020-05-01 13:04:23 720

原创 tesla t4的坑Unable to load the kernel module 'nvidia.ko'.ipynb

说明安nvidia tesla T4显卡遇到的坑, 在ubuntu16.04上安装t4会遇到下面错误错误内容 make[1]: Leaving directory '/usr/src/linux-headers-4.4.0-142-generic'-> done.-> Kernel module compilation complete.ERROR: Unable to...

2020-04-24 15:37:37 677

原创 object-detection图片切割提示Invalid argument: Key: image/object/mask错误

ensorflow的object-detection切割图片出现错误tensorflow.python.framework.errors_impl.InvalidArgumentError: 2 root error(s) found. (0) Invalid argument: Key: image/object/mask. Data types don't match. Expec...

2020-04-14 14:16:08 136

原创 socketio与apscheduler并用

layout: postauthor: “妙音”title: “socketio与apscheduler并用”date: 2019-04-08 21:51category: flasktags: [“socketio”, “apscheduler”]description: “flask项目引入了flask-socketio提供websocket通信,同时需要flask-apsche...

2019-04-28 10:12:36 202

原创 为jekyll制作docker镜像

说明jekyll运行依赖ruby,每次重装都会遇到版本问题,挺麻烦,干脆做成镜像官方镜像存在的问题docker上有jekyll的官方镜像,如果是直接运行,没什么问题。如果你挂载volume就会有权限问题jekyll 3.8.5 | Error: Permission denied @ dir_s_mkdir - /srv/jekyll/_site制作步骤步骤1:修改镜像入口文件...

2019-04-28 09:56:31 263

原创 docker运行gunicorn看不到控制台输出

项目做成了docker镜像, 以gunicorn命令运行, print输出为什么没有写到docker日志?docker-compose文件如下version: '2'services: xxx.xxx: image: xxx:1.0 volumes: - /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime...

2019-04-06 07:57:09 1616

原创 学习: matplotlib绘制阻尼正弦波

介绍阻尼正弦波定义: 振幅会随时间增长而趋向零的正弦波函数示例图片应用a.任何振动系统b.共振c.简谐运动(弹簧、单摆)d.车辆避震系统e.RLC电路f.有阻尼的弦波绘制方法import matplotlib.pyplot as pltimport numpy as np#阻尼正弦波计算公式def f(t): 'A damped expone...

2019-04-06 07:52:41 1370

原创 利用qq邮箱作为个人邮件服务器发送邮件

需求描述邮件通知很有用处。如何搭建一个邮件服务器,允许发送邮件呢?实现方法一、利用开源软件,搭建自己的邮件服务器。二、利用qq等第三方邮件服务。自己搭邮件服务器较麻烦,我的需求比较简单,利用qq邮件,发送邮件即可,下面是方法.设置方法1.开启服务,获取授权码邮箱设置–>帐户–>开启"IMAP/SMTP服务"开启成功后,会给出一个授权码.授权码就是发送邮件时的...

2019-04-06 07:43:43 3176

原创 实现智能dns为用户分配最佳线路

@TOC说明服务器放在国外,不同线路质量不一样。如何根据访问者的所在地、运营商,智能的分配线路呢?有些域名服务器上提供线路优先级,比如阿里云,如果是国外域名服务商,一般都不会提供。所以通常要我们自己实现自动分配线路的功能。例如有一个网站www.yongqingking.top,它的真实服务器ServerA在海外。网站的部分用户在国内。由于各种原因,在国内访问海外服务器的质量不是很好...

2019-03-24 09:36:39 1570

原创 学习:人工智能-机器学习-深度学习概念的区别

一图胜千言定义概念定义简述备注数据分析/挖掘用适当的方法对收集来的大量数据进行分析,帮助人们做出判断,以便采取适当行动分析数据规律属于机器学习人工智能通过计算机程序实现人类智能机器学习人工智能的一个分支。从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测分析数据规律+预测深度学习机器学习的一个分支。以人工神经网络为架...

2019-01-20 12:30:12 267

原创 使用numba的姿势不正确反而导致性能下降

numba能够极大的提高python在计算方面的性能。是不是所有的python代码上,都可以加上numba.jit装饰器?答案是否定的。示例环境python3.6fedorapymysql示例很常见的例子,从数据库从查询一千条数据,再进行简单的格式转换。#coding=utf-8import timefrom numba import jitimport pym...

2019-01-20 09:14:33 3927

原创 numba加速python学习与尝试

简介探索python性能优化工具,发现了numba. 只需要给函数加上装饰器就可以。比cython和pypy方便多了。numba是什么numba是为了提高numpy速度而开发的,使用llvm将python代码翻译为bitcode,并在bitcode外面做了一层包装,让python可以调用通过numba翻译的代码由于经过llvm优化并可在机器上直接执行,效率将有所提高,对海量数据处理非常...

2019-01-20 09:12:06 1855 2

原创 用最简单方法解决api接口安全问题,几乎无法破解

场景描述项目需要为第三方提供api服务接口。接口涉及到核心功能,如何保证接口安全。防止伪造身份、篡改数据?思路保障数据安全最好的方法,当然是加密了。无法解析内容,自然无法伪造,篡改。可是使用https证书需要收费的。有其它方法么?有的。消息哈希认证(hmac)。算法描述访问者1. 当访问接口时, 将参数按key值排序,组成key1=value1&key2=va...

2019-01-01 11:47:07 11266 6

原创 没有契合的数据库迁移工具,用pymysql实现一个

版本迭代少不了数据迁移,python有自己的数据库迁移工具migrate。如果有的是其它开发语言,或者没有契合的迁移工具。怎么自己做一个?环境说明项目开发语言:java数据库: mysql迁移脚本: pythonpython工具包: pymysql实现思路目标是将老版本的数据转为新版本的数据。1. show tables 查询所有的表 ---得到所有表名2. 注意tranc...

2019-01-01 11:16:52 166

原创 nginx运行php的终极方法,可避免许多不必要的坑

说明php有许多开源项目比较好像,在自己的机器上用docker搭建了很多。每个docker都是跑了个apache,每个docker里面都有apache。这样好像有点浪费资源,而平时都是用nginx,所以研究了用nginx运行php中间竟然碰到许多坑,而回过头来看,其实都很简单。nginx运行php的原理nginx不能解析php,要和php-fpm配置使用。nginx负责将php的请求转...

2018-12-28 00:52:22 1003

原创 frp内网穿透基本用法

思考评价由于路由器推荐使用frp进行内网穿透,所以我稍微了解了下。平时我更新喜欢用ssh进行内网穿透。似乎并没有必要使用frp。更方便的方法是,直接用vpn将两台机器连载一起,也比端口穿透好多了。一般说来它比较适合普通人,使用比较简单。不打算深入研究,下面比较水基本用法下载https://github.com/fatedier/frp/releases一般是amd64解压...

2018-12-27 23:52:37 282

原创 rclone报错NewFs: couldn't initialise SFTP: EOF

rclone将路由器挂载到vps,出现下面错误。原因是路由的ssh不支持sftp。[root@izwzxxxxxxxqre9xrhvz ~]# rclone lsd homedata:2018/12/24 13:57:24 Failed to create file system for "homedata:": NewFs: couldn't initialise SFTP: EOF来...

2018-12-27 23:25:39 168

原创 entware嵌入到移动硬盘,在路由器重启后不生效

环境说明在路由器r6400上挂载了一个移动硬盘,然后在移动硬盘中安装了entware。如果重启了路由器,entware会失效。如何让它在重启时生效呢?梅林r6400开机启动原理路由器中的操作系统比较特殊/etc/profile: 系统做了限制不能修改,所以不可以加脚本/jffs/scripts目录: 里面的脚本名固定不可以随便修改,但是可以加自己的内容。脚本名作...

2018-12-27 23:10:12 993

原创 让梅林R6400支持sftp协议

说明通常linux中ssh默认支持sftp,梅林路由器中的ssh是精简版,不支持sftp协议。自带的配置不支持,是否有有办法呢?我们可以先装entware-setup.sh,然后用opkg安装sftp。有了ssh和sftp,我们可以做很多事。环境(前置条件)r6400路由器entware-setup.sh已安装好系统,可以使用opkg路由器启动了ssh登录ssh登录到路由器略...

2018-12-25 02:32:44 2379 1

原创 uwsgi: option is ambiguous: http

从官网上下载的uwsgi包含所有的插件。其它来源的uwsgi可能被人改过了。例如,为了减小体积,会删除uwsgi不必要的插件。环境alpine中运行uwsgi示例:启动uwsgi提供http访问接口,出现错误#报错的原因就是这个uwsgi没有http插件~ # uwsgi --http :9090 --plugins http,python3[uWSGI] getting INI c...

2018-11-26 21:27:24 1471

原创 p2p内网穿透技术-udp打洞

在公司如何访问家里的电脑?实现方法有很多,其它p2p传输文件最快,能否实现?udp打洞原理假设有两台分别处于各自的私有网络中的主机:A和B;N1和N2是两个网络的NAT设备,分别拥有IP地址P1和P2;S是一个使用了一个众所周知的、从全球任何地方都能访问得到的IP地址的公共服务器步骤一:A和B分别和S建立UDP连接;NAT设备N1和N2创建UDP转换状态并分配临时的外部端口号步骤二:S...

2018-11-25 16:42:24 2060

原创 磁盘被谁占满了

磁盘被占满了,想知道被谁占满,怎么办?首先想到的是搜索所有超过GB大小的文件。查看超过1GB的文件#命令就是这样不用改别奇怪。查看/下所有单位是G的文件du -h / |grep -E "G[[:space:]]"参考来源http://www.yongqingking.top/linux/2018/11/25/du-gb.html此生必看的科学实验-水知道答案《了凡四训》详解之...

2018-11-25 14:26:16 562

原创 mysql配置主从复制基于GTIDs

用最简单的例子,教你配置基于GTIDs全局事物id的主从配置。mysql从5.7之后,增加了基于全局事务的主从复制,能够省去,log-bin主从复制找坐标的工作。环境说明mysql 8.0.12过程说明下面是两台新装的mysql启用全局事务id主从复制的过程启用log-bin,mysql默认是启动的不需要配置master上创建复制用的帐号master/slave启用gti...

2018-11-25 13:55:02 251

原创 梅林固件设置虚拟内存

网件R6400自带的虚拟机内存只有250MB,内存不够怎么添加呢?准备准备一个u盘,将塔查道路由器上ssh登录到路由器。默认帐号就是路由器帐号,具体方法省略在路由器"软件中心"中安装好插件"虚拟内存"查找u盘,找到对应的设备名,例如/dev/sda1admin@R6400-ACF7:/tmp# df -hFilesystem ...

2018-11-25 10:50:38 21042

原创 centos7开启bbr加速黑科技

BBR通过优化和控制TCP的拥塞,充分利用带宽并降低延迟,起到神奇的加速效果。测试环境centos7.5加速效果,没有那么跨张,但是下载从50K加速到400K下载更换内核rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.orgrpm -Uvh http://www.elrepo.org/elrepo-release-7...

2018-11-25 10:22:43 772

原创 连接mysql8.0提示认证协议失败

描述用docker容器安装软件非常方便,省了太多麻烦。通过docker运行mysql8.0,再用navicat客户端连接出现client does not support authentication protocol requested by server。像似认真失败,检查mysql.user表,已经配置了用户,为什么还出现认真失败?这是因为mysql8.0改了密码加密方法。客户端与服...

2018-11-25 10:21:06 744

原创 xampp中proftpd登录不了

在fedora中安装xampp后,配置好wordpress。wordpress升级需要用到ftp,上传源码也会用到ftp。结果发现发现proftpd登录不了。怎么看失败原因?只启动proftp。xampp在/opt目录下/opt/lampp startftp/stopftp/reloadftp浏览器访问。需要输入帐号和密码,查看配置文件etc/proftpd.conf,默认用户...

2018-11-25 10:20:01 1157

原创 pyinstaller黑色窗口一闪而过怎么去掉

默认情况下pyinstaller编译出的exe有cmd窗口。给它设置了-w选项,可以把它去掉。为什么我加了,还是会出现一闪而过的黑色窗口加上-w选项python -m PyInstaller xxx.py -w不要用os.systemos.system("xxx") #会调用cmd.exe,所以会出现黑色窗口#改用subprocess,不会出现黑色窗口subproces...

2018-11-25 10:18:28 3296

原创 pyinstaller编译出的exe被杀毒软件认为是木马

把python文件转为独立的exe,放在windows上运行。结果腾讯管家马上提示有可能是木马把它删除了一脸懵逼,我良民,咋成木马了呢。思前想后,我做了什么,被认为很危险。原来我用了os.system。下面是演示python文件#xxx.pyimport oscmd="xxxxx"os.system(cmd)编译exe#编译完成,系统提示发现木马python -m P...

2018-11-25 10:17:44 10297

原创 dnsmasq在docker中无应答

问题描述制作了一个docker镜像,运行dnsmasq。域名解析竟然无应答, no servers cloud be reached发送请求解析域名dig www.google.com @192.168.0.111 -p 53; <<>> DiG 9.11.3-RedHat-9.11.3-4.fc27 <<>> www.google.c...

2018-11-25 10:16:45 368

原创 git清理历史成为干净库

目的想把以前的历史清理掉,作为一个干净库使用方法删掉本地.git,再删除远程库。下面是真删除,尝试前先备份。#删除本地分支git branch -D xxx#删除远程分支(除了master其它分支都删掉)git push :远程分支#删本地gitrm -rf .git#新建库git initgit add -A#关联远程仓库git remote ad...

2018-11-25 10:12:36 6032

原创 mysql存储引擎毫无疑问选择Innodb

网上观点网上大部分人在考虑如何选择MyISAM与InnoDB的依据是innodb 支持事务、行级锁. 适合写多读少myisam 表锁,适合读多写少实际测试下查询速度1千万(InnoDB)select * 21秒select id=xxx 0.026秒count(id) 15.71秒(第一次16.71,第二次0秒,插入一条后16.476秒)...

2018-11-23 23:44:41 87

原创 思考大表统计的优化策略

前言以InnoDB表的count()统计为例子方法一、直接count,全表扫描分析#一千万条数据count()耗费几十秒,基本不用干活select count(*) from user##方法二、分段count,全表扫描转变为范围扫描加上where条件,将全部查询,拆分成多个小范围查询。#全表扫描select count(*) from user;#改为范围扫描sel...

2018-11-23 23:39:51 181

原创 myisam锁表机制

锁表机制锁机制a.加锁读(共享锁):不会阻塞读请求(select, insert),阻塞写(update, delete)请求 b.加锁写(独占锁):阻塞其它读写(select, delete, insert, update)请求锁耗时多长? 取决于sql耗时。控制好sql耗时,锁表的问题并不大。测试数据生成1000万条测试数 表user(id, userna...

2018-09-15 06:31:55 443 1

空空如也

空空如也
提示
确定要删除当前文章?
取消 删除