RJ博客

Redis内存分析(大key排查)

Redis内存分析(大key排查)
背景 线上Redis遇到一个问题,就是内存无限缓慢增长,2个G的内存几个小时就快被吃完了,因此需要查看Redis实例中数据的内存分布情况。为了不影响线上实例的使用,采用bgsave生成dump.rdb文件,再结合redis-rdb-tools进行静态分析。
2019年02月10日 134 views 1评论

python动态页面爬虫(二) - Selenium+Chrome

python动态页面爬虫(二) - Selenium+Chrome
最近在使用Selenium+PhantomJS动态抓取网页时,发现了Selenium已经放弃PhantomJS的警告,具体警告内容如下: UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead warnings.warn('Selenium support for PhantomJS has been deprec
2019年02月01日 167 views 1评论

Mysql 慢查询 全表扫描 文本索引排查方案

Mysql 慢查询 全表扫描 文本索引排查方案
最近在做MySQL的全表扫描、慢查询、文本索引优化,需要抓取到线上执行的sql进行判断,由于项目代码过多,直接从代码排查难度有点大,于是借助了MySQL命令 查看哪些线程正在运行(只能抓取正在运行的语句) show processlist; SHOW PROCESSLIST显示哪些线程正在运行,如果您有SUPER权限,您可以看到所有线程,否则,您只能看到您自己的线程。
2019年01月10日 129 views 1评论

PHP-FPM内存优化

PHP-FPM内存优化
服务器运行一段时间后,发现内存占用不断增长,通过top命名(输入命名后按m键可按进程占用内存大小的排序)查看,发现大部分内存都被 php-fpm 占用,网上查了一下,大概的意思是说,处理每个php请求完成后,php-fpm会回收内存,但不会释放给操作系统,从而导致大量的内存被php-fpm占用。 实测的话如果页面能正常执行完,内存是能释放的,而页面因内存超限而报错的时候,内存是没有释放给操作系统的。
2018年10月01日 119 views 1评论

PHP的内存泄露问题与垃圾回收

PHP的内存泄露问题与垃圾回收
你写了一个php脚本,一般都不用考虑内存泄露和垃圾回收的问题,因为一般情况下你的脚本很快就执行完退出了。 但在一些运行时间长,数据量大的时候,程序运行一段时间后,php脚本就占用了过多内存,然后就报错(PHP Fatal error: Allowed memory size of 134217728 bytes exhausted)退出了。一般来说,每个页面处理结束,新建的simple_html_dom对象就应该被销毁了——但是实际上没有,很明显,内存泄露发生了。
2018年08月21日 133 views 1评论

Redis迁移记录

Redis迁移记录
由于业务需要,要把业务迁移到另一家服务商,其中涉及到: 服务器代码迁移 MySQL迁移 Redis迁移 其中服务器代码和MySQL就不说了,主要说一下Redis的迁移。 目前有3种方案供选择: 1) 第三方工具redis-dump、redis-load实现 2) 通过aof机制导入导出,需要开启aof功能 3) 通过rdb存储机制迁移数据,此方法最为简单,直接dump $key、restore $key即可。
2018年05月10日 123 views 1评论

Linux服务器变肉鸡经历

Linux服务器变肉鸡经历
最近上服务器,发现服务器redis的备份文件路径变了,一开始也没怎么在意,后来发现一些服务老是挂掉。我重启了次服务器,好像恢复正常了。过了一会,一些关键服务又自动挂了,我开始意识到我服务器可能被入侵变成肉鸡了。于是我看了下crontab,发现有个陌生的例行,应该就是它在搞事,于是我把它删掉,重启服务器,惊奇地发现这个例行又出现了。
2018年03月18日 1007 views 3评论

用神经网络深度学习自动生成HTML代码

用神经网络深度学习自动生成HTML代码
用神经网络深度学习,从设计稿自动生成HTML代码。在未来三年内,深度学习将改变前端开发。它将会加快原型设计速度,拉低开发软件的门槛。目前,自动化前端开发的最大阻碍是计算能力。但我们已经可以使用目前的深度学习算法,以及合成训练数据来探索人工智能自动构建前端的方法。在本文中,作者将教神经网络学习基于一张图片和一个设计模板来编写一个 HTML 和 CSS 网站。
2018年02月06日 773 views 1评论

PHP文件锁类防止并发

PHP文件锁类防止并发
对于商品抢购等并发场景下,可能会出现超卖的现象,这时就需要解决并发所带来的这些问题了.在PHP语言中并没有原生的提供并发的解决方案,因此就需要借助其他方式来实现并发控制。 方案一:使用文件锁排它锁 方案二:使用MySQL数据库提供的悲观锁 方案三:使用队列 方案四:使用Redis/Memcached
2018年02月02日 845 views 1评论