有用户输入一个看似正常的url信息,接口却一直返回参数不符合规范,于是反馈来询问原因
mysql配置max_allowed_packet的影响
原因
其中内置group_concat返回一个聚合的string,最大长度由参数group_concat_max_len(Maximum allowed result length in bytes for the GROUP_CONCAT())决定,默认是1024,一般都太短了,开发要求改长一点,例如1024000。
当group_concat返回的结果集的大小超过max_allowed_packet限制的时候,程序会报错,这一点要额外注意。
text类型检查
如果select出现text类型的字段,就会消耗大量的网络和IO带宽,由于返回的内容过大超过max_allowed_packet设置会导致程序报错,需要评估谨慎使用。
解决方法
go通过sqlx使用事务导致的goroutine泄露问题记录
问题的起因是收到预警,某个服务的请求持续出现504,而服务本身的记录没有504记录,触发的是负载均衡超时
最终通过pprof定位到了问题并解决
php的session_start锁导致接口超时
最近遇到了奇怪的问题,一个PHP老系统频频出现异常的超时请求,但代码内部的实际执行实际又从不超时,很妖
最终定位是 PHP 的 session_start
的 lock 导致的
当然,之前没有发生的原因是MySQL数据少,查询相当快
wsl memory config
WSL2的版本,占用内存有点吃不消,好像是不会主动归还给主机,还是得折腾
配置文件限制上限加主动释放的命令来解决
移除chrome/edge download all with free download manager的右键菜单
Windows系统安装了 FDM(Free Download Manager)后,浏览器右键始终存在一个菜单“Download all with Free Download Manager”
其它扩展都有关闭右键菜单的配置选项,这个扩展没有,于是只能用特殊手段了
PS. 扩展升级后可能会被覆盖,重新操作即可
PHP中Iframe的Cookie属性Samesite
近期有需求要将系统页面完整嵌入到其它平台,测试中发现cookie异常,无法完成设置。
response中,Set-Cookie
有黄色感叹号标记
之前也了解过chrome 80+ 之后的安全策略调整导致跨域问题,但没想到系统中对cookie的使用过于泛滥
kubernetes内网部署yapi使用mongodb并启用LDAP
技术选型选择了 yapi 作为内部接口管理系统,由于测试环境都部署在 kubernetes 集群中,所以官网提供的docker镜像还需要修改才能使用
同时,还需要启用并配置 LDAP 实现内网统一认证
windows的使用
今天解决了一个困扰许久的问题,小问题带来意外的惊喜
关于Windows的多显示器不同分辨率导致的程序缩放异常问题
同时也记录下常用的window软件,以便换机重装
mysql字符串比较查询时的大小写敏感问题
继上篇空格引发问题后,大小写也在排查过程中引发了问题
由于COLLATE的设置,导致MySQL不区分大小写进行了匹配