Redis底部的几种存储结构(sds、dict、ziplist、intset、skiplist)

首先本文参考的是这个系列的文章: https://mp.weixin.qq.com/s?__biz=MzA4NTg1MjM0Mg==&mid=509777776&idx=1&sn=e56f24bdf2de7e25515fe9...

2019-01-08 17:36:02

阅读数 81

评论数 0

Redis慢日志问题解决

现象:       无线词条页访问失败   问题分析: 1、首先,查看日志 日志中非常显眼的是,从Redis读取词条的pv耗时很长,高达20多秒, 看样子是访问Redis速度很慢导致   2、查看Redis的慢日志 > SLOWLOG GET 可以得到如下...

2018-12-10 16:53:32

阅读数 136

评论数 0

写磁盘太慢导致服务超时问题分析

服务逻辑:      接收客户端的请求参数,写文件到本地磁盘   问题发现:      客户端报超时, 每天日志理论上是有几万条的,但是近几天只收到了几条   问题分析:      其实最开始的时候,以为是服务端处理不过来导致的,因为最开始服务端只有两个服务进程,后来增加了服务进程数...

2018-12-10 12:11:43

阅读数 115

评论数 0

tornado异步请求响应速度的实例测试

为什么要用异步处理? 大部分Web应用(包括我们之前的例子)都是阻塞性质的,也就是说当一个请求被处理时,这个进程就会被挂起直至请求完成。在大多数情况下,Tornado处理的Web请求完成得足够快使得这个问题并不需要被关注。然而,对于那些需要一些时间来完成的操作(像大数据库的请求或外部API),这...

2018-12-06 18:53:17

阅读数 129

评论数 0

scrapy自定义网页中图片的下载策略

自定义的初衷是:想修改保存文件的默认名称, 我们希望保留图片原始的文件名。 此外,scrapy图片的下载过滤策略是用了过期时间,可以通过在settings.py中配置如下参数来设置图片的过期时间: IMAGES_EXPIRES = 90 但是对我们抓取百度百科的业务,一张图片如果已经抓取过,...

2018-11-30 18:48:16

阅读数 88

评论数 0

scrapy自定义Request的缓存策略(减少内存占用)

scrapy-redis大概的架构: 从redis中拉url,构造Request对象,写入SCHEDULER_QUEUE_CLASS定义的队列中,调度器从队列中拉取Request进行抓取 想自定义Request的初衷主要是为了减少内存的占用,当然虽然我们的内存消耗的也不是那么多,也就几个G ...

2018-11-30 11:01:23

阅读数 146

评论数 0

scrapy中自定义过滤规则以及start_urls不进过滤器的问题

为什么要自定义过滤规则呢? 首先,我们需要过滤,但是不是说抓一次就不抓了,因为我们的抓取是一段时间抓取一次 自定义策略如下: 首先我试图直接继承RFPDupeFilter 在settings.py同级的目录下新建dupefilter.py文件,按照网上说的方法,写了内容如下 from s...

2018-11-29 19:22:10

阅读数 179

评论数 0

请求方报超时,服务日志中记录的时间却少有超时

请求方报超时的比例大概有4% 他们设置的超时时间是500ms 但是我们统计日志,服务时间超过500ms的日志很少 原因是什么呢?   超时原因分析: 1、请求内容太长 根据请求方超时日志, 大多数query的长度都是1w以上,这些query我手动请求,响应时间的确大于500ms, 在...

2018-11-27 14:19:44

阅读数 215

评论数 0

日志中每段代码执行时间的和不等于整段代码执行的总时间

代码逻辑: def  getInlink()      A  -> B  -> C ->  D   在tornado中调用getInlink @tornado.gen.coroutine     def get(sel...

2018-11-22 10:10:21

阅读数 38

评论数 0

压测中提高并发数后服务端处理时间增长的原因分析

后端逻辑:  接收请求、分词匹配、读redis做一些过滤策略 在不断提高并发数的压测过程中,发现一个问题,后台服务对一个请求的处理时间也在增高, 而且增高的主要时间是消耗在读redis过滤那块 过滤那块的主要逻辑是:从redis中读数据,并基于这些数据做一些过滤的策略 为什么这块的耗时会增长...

2018-11-20 15:02:35

阅读数 91

评论数 0

两台机器实现QPS3000的服务优化

服务流程:      输入为一句话, 分词、匹配百科词条,读redis过滤、从redis读词条summary信息、返回   需求:      业务方的峰值QPS为3000   按照之前相关百科的一套逻辑: 单机tornado服务进程数4个 模拟10个并发,压测的QPS为332, 响应...

2018-11-16 19:41:18

阅读数 95

评论数 0

一次Redis任务队列积压的问题分析与解决

目前的流程:   两个Redis: Redis1: 存储词条的summary信息 Redis2:任务队列,用于暂存Redis中没有summary,需要进行处理获取summary, 队列用的Redis的list结构   两个进程: 1、 进程1:服务进程 接收请求,划内链词,然后从R...

2018-11-16 11:32:32

阅读数 190

评论数 0

tf.layers.conv1d函数解析(一维卷积)

一维卷积一般用于处理文本,所以输入一般是一段长文本,就是词的列表   函数定义如下: tf.layers.conv1d( inputs, filters, kernel_size, strides=1, padding='valid', data_format='channels_last...

2018-11-14 15:09:10

阅读数 1935

评论数 2

二维卷积神经网络的结构理解

针对这个图,我们对应着卷积的api函数来说: tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None)   如上图: 第一列为一张输入图像, 大小为7*7*3, 即宽高为7*7, 通道...

2018-11-14 15:07:13

阅读数 72

评论数 0

个人对stacking的思想理解

主要分为几个基础模型,一个元模型 对于基础模型,采用K折交叉的方式来采样数据,并分别进行训练,这样对于每个模型,都会用K组采样数据来进行训练,从而得到K个不同的模型版本 假设现在基础模型有KNN,SVM, 那么对基础模型训练后会得到如下几个模型: KNN_model1, KNN_model2...

2018-11-14 15:05:50

阅读数 43

评论数 0

preprocessing.StandardScaler中fit、fit_transform、transform的区别

1、fit 用于计算训练数据的均值和方差, 后面就会用均值和方差来转换训练数据   2、fit_transform 不仅计算训练数据的均值和方差,还会基于计算出来的均值和方差来转换训练数据,从而把数据转换成标准的正太分布   3、transform 很显然,它只是进行转换,只是把训练...

2018-11-14 15:04:15

阅读数 504

评论数 0

sklearn相关积累

sklearn的参考教程: https://morvanzhou.github.io/tutorials/machine-learning/sklearn/3-5-save/   1、 解决的问题 分类、回归、聚类和特征降维 sklearn中有很多数据库可以用来练习   2、交叉验证...

2018-11-14 15:02:54

阅读数 58

评论数 0

机器学习中遇到的问题

1、ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory 找不到so库文件 用自己的账户运行包会报上面的错误,但是用root账户运行却没有问题 原因:root账户里面的...

2018-11-14 14:59:29

阅读数 47

评论数 0

客户端请求时间和服务端处理时间不匹配问题

现象:       客户端日志,调一个接口耗时为2-3s      服务端日志,处理一个请求耗时只有100-200ms   问题:      这明显速度不匹配, 理论上差不了太多才对   分析原因:      可能是服务端处理不过来,虽然一个请求服务端处理的时间很短,但是客户端请求...

2018-11-14 14:54:26

阅读数 145

评论数 0

从Encoder到Decoder实现Seq2Seq模型

参考文章:  https://zhuanlan.zhihu.com/p/27608348

2018-09-12 19:12:59

阅读数 241

评论数 0

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