根据某个字段a的条件查询,查询到的结果却验证失败,一切都是空格的错
之前已经发生过字符串开头不可见特殊字符引发的类似问题
太久不碰到允许存储空格的业务,还是掉坑了
golang程序profileruntime.futex占用大量 cpu 资源
线上数据库CPU100%,纯粹的查询量过大导致,放下不表
但排查过程中,业务系统(Go)运行还正常,于是看了一下pprof的profile和heap、block等数据
在profile中发现了异常,runtime.futex
占比高达50%,相当异常了
基于官方alpine php镜像构建php基础运行环境
年久失修的线上Docker运行php的环境已经无法维护,且是基于完整Ubuntu16构建,镜像相当庞大
于是选择使用官方的php镜像(alpine)进行重新构建,输出Dockfile以便后续更新
go的json与tag
Go中使用json很多,玩法也很多,整理了一下go中关于json的tag使用
包含了一些遇到的问题与解决方案
Ubuntu18.04中安装及彻底卸载Docker-CE
装了个新的虚拟机,要安装docker,不停地碰到各种问题,折腾
官方源太慢,改源又出现Hash Sum mismatch错误,最终是使用阿里的源,记录下,下次少折腾。。
php-fpm slow log
网站并发上升后,页面响应变慢,甚至出现504
由于网站主入口还是php处理,本地压测也无法复现,所以排查一番后决定通过php-fpm的slowlog来快速定位问题
go位操作
看mutex源码时,发现有很多的位操作,记一下加深印象
限制docker日志文件大小以防占满磁盘
一大波请求扛过去了,快结束时服务异常了,磁盘使用量报警100%,结果是日志清理不及时导致的
go1.13 使用 GOPROXY
go更新到了1.13版本,期待已久的goproxy支持私有库特性终于来了
一次配置,告别代理
PHP判断是否为局域网IP
有些老接口要限制内网访问,选择最简单的方式,由PHP执行时进行判断