`
wangleide414
  • 浏览: 588100 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论
文章列表
年轻人,工作时间改变现在,业余时间改变未来。   读完卷书,行万里路,阅人无数。   谋可寡而不可众,利可共而不可独。   不在痛苦中成长,就在痛苦中灭亡。   年轻时候多干点牛逼的事,等老了以后才能和孩子吹牛逼。奋斗吧。     能够感觉叫做敏感,能够开始叫做勇气,能够复制叫做坚韧,能够收敛叫做聪明,能够结束叫做智慧。   大家可能听说过10000小时定律:不论你想在任何一个领域成功,你都必须至少付出10000个小时的磨练。   【创业失败者的12条共性】1、缺乏目标。2、自学能力不足。3、自我训练不够。4、缺乏决断力。5、选错工作。6、选错朋友。7、惰性8、 ...
 最近抽时间总结下对于该问题近期的排查过程和分析;   问题背景:         web服务器使用的是nginx + uwsgi 的架构; 近期发现服务器上偶然会出现 *** uWSGI listen queue of socket 4 full !!! (100/100) *** 这样的日志;并且很难重现,有时候出现一段时间会自己回归正常,如下图: 图1 uwsgi listen queue full       问题分析:       由于是线上不定时重现,并且自动会好,并且表面上看应该是listen 队列满的原因。排除是代码逻辑等问题,怀疑是 资源和访问方式问题导致 ...
Redis 目前应用相当广泛,由于是内存存储,性能很好,所以也在很多业务场景下都有其适用性,前段时间经常有同事问到使用Redis 的细节问题,如该使用它的哪种类型来解决某种场景下的某些问题,本文总结整理后,并给出实际的使用实例。 首先Redis 是开源的,ANSI C语言编写,key-value 的存储系统,内存存储数据,也可以通过配置根据策略去持久化数据。  包含五种数据结构:   一、String 字符串       最基础的数据存储类型,并且是二进制安全,也就是说该类型可以接受任何格式数据,图像,文字等,应用场景主要适用于热数据的缓存;其主要操作有,get set 等;   ...
  uwsgi 处理web 请求使用了多进程的模式,接收到web请求后可能由不同的进程去处理。  问题背景:  一、前段时间写了个api,  这个api 是在django项目中的,并且使用的是nginx+uwsgi的方式提供服务的。在api  中 使用了django 的 get_or_create来保证数据表的唯一性。             XXX.objects.get_or_create(custom_column_id=custom_column_id, l_id=l_id)      二、调用这个api 的客户端只有一个进程,并且使阻塞式的串行调用,只有在第一个接口 ...
 背景:实际django项目中遇到这样一个问题,两个进程A,B去读写MySQL数据库,A 在insert m 完成后通过redis 通知B去读MySQL。如下图所示,在进程B允许过程中,往数据库多插入几十条数据后,进程B依然查询不到。如下图所示:实际数据表中有6250,但是在进程中查询只有6218条,他对进程启动动新增的数据都查询不到。                                                                    问题:A insert完成后,这时B并不能查询到新增的记录m。但是通过其他客户端工具可以看到新增的m记录,特别的是 ...
问题背景:前几天在项目中遇到 两个进程 query MySQL数据不一致的情况,现象是进程A在insert 后,进程B select 不出来。后来发现 A B 都是用了事务,B中设置了autocommit = 0 表示手动提交事务。   问题分析:由于数据库有事务隔离机制,不同的事务隔离级别会导致两个事务查询出不同的结果。详细资料见《参考资料》,其实质就是两个不同的事务在修改增加数据后是否对另一个事务可见的问题。   SQL标准规定了以下四种隔离级别。 假如有A B 两个事务;   一、Read uncommitted (读未提交)        最低的事务隔离级别,,在事务 ...
在开发和维护过程中总是离不开网络,网络几乎总是离不开TCP的知识。 经过平时的实践和看书的收获。 在这里总结一下TCP协议的各个状态的含义。 ps: 通过netstat 命令可以看到当前TCP所处于的状态。 一、 网上的一张TCP状态 ...
线上有这样一个Sql耗时很长,统计 了下基本在80~200s之间。   SQL: SELECT `mysites_vultask`.`id`, `mysites_vultask`.`site_id`, `mysites_vultask`.`status`, `mysites_vultask`.`timestamp`, `mysites_vultask`.`conf`, `mysites_vultask`.`task_state`, `mysites_vultask`.`task_id`, `mysit ...
最近由于业务的增加,很多组件中uwsgi 和 nginx 的日志增长的比较快,硬盘空间小的机器资源容易耗尽。导致业务受影响。 因为业务日志都会写到syslog中,而nginx 和uwsgi 一般只放在本地,所以log文件会越来越大。   如下图,                解决方案:   一、增加各组件机器的监控,及时发现问题 二、日志定时转存,及时删除旧的日志,防止磁盘出现满的情况          这里主要说方案二的方法:                   查了些资料,很多人使用logrotate程序来管理日志,logrotate是日志文件管理工具,可 ...
            最近几天经常发现访问webserver (scancenter)有异常,有时慢有时快。   定位思路:后台架构使用nginx 作为反向代理,uWsgi做为web服务器,项目使用django框架。基本上的请求流程是: client--->nginx---->uwsgi----->django     一、先看nginx的access.log        一般在/usr/local/nginx/log/目录下。当然如果还找不到就locate access.log一下就能找到了。      没有太大异常,只是发现一些请求时间比较长。达到3 ...
        最近常在系统中发现内存不够用的情况,这里简单总结下对应场景和处理思路背景:线上很多客户生成报表失败,由于采用是celery和异步方案,事后只能去查查日志,没发现异常情况,为了复现场景只能后台手动执行下脚本来生成,过程中用top,htop或者free来观察状态,发现在转pdf过程中内存一直增加,最         后不够用导致失败。生pdf存在该问题,rtf不存在。分析:pdf的生成使用了第三方工具包,过程中使用shell命令调用执行,他的内部逻辑无法去控制和改变,所以只能从os层面和业务上想办法。方案1:加物理内存,只能临时应付。而且比较麻烦,不能长久解决问题。交付物不变。 ...
思路:一定要写完整的标签如:<img src="" .... /> 最后的结束符很重要,如果标签不完整(如没有结束符合),可能在新版的浏览器中正常显示,但是在老版本尤其是IE中就不识别,出来的是乱的。
用python读取 在 windows 上用记事本 使用 UTF-8编码的文件,会出现\xef\xbb\xbf ,在文件的头部   后发现是记事本的问题,记事本在使用utf-8编码时候会加上这个头,大家开发的时候要注意,使用二进制编辑会看到这个结果
第一节 MongoDB介绍及下载与安装 引言     MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以 ...
<html> <head> <script type="text/javascript" src="/jquery/jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $(":input[name=test\\[user\\]]").css("background-color","#B2E ...
Global site tag (gtag.js) - Google Analytics