0%

最近在新加入一个包时,导致打包后的代码不能在低版本的 ios 上运行,使用模拟器查看,发现打包后的代码还存在 es6 的代码,导致不兼容。

调试步骤

  • 安装 xcodesimulator,需要安装 ios 低版本的模拟器
  • 打包代码,请先开启不压缩代码,方便查看.具体关闭压缩方式,查看文档,vue-cli vue.config.js 配置为 config.optimization.minimize=false
  • 打开模拟器,开启 safari 调试模式,如截图所示
    20190424074548.jpg
  • safari 中查看具体的报错信息,定位问题

问题原因

加入的新包作者没有提供编译后的代码,所以需要自己处理一下
vue.config.js 配置如下

1
2
// 处理未经 `babel` 编译的包
transpileDependencies: ['tencent-wx-jssdk']

使用 jenkins 打包,使用的 cnpm安装的包,打包后会出现问题,换成 npm 打包就没有问题,具体原因还没有查清楚.

问题描述

最近市场的同学通过一系列活动激活了很多用户,日活用户激增,导致服务器不稳定.
根据以往经验一一排查,下面是排查问题的过程.

  • 1.一般都是数据库的瓶颈,查看数据库的 cpu使用率cpu负载 都正常,加了一个只读库,情况大大好转.
  • 2.然后排查服务器的 cpu使用率cpu负载,也是正常.
  • 3.排查容器服务节点的资源消耗,应用服务容器节点 cpu使用率 在正常的情况.
  • 4.怀疑 自定义路由 proxy 服务的问题,遂查看服务容器节点的资源消耗,发现 cpu使用率 有时候会超过100%,决定增加 proxy 的容器数量.增加 proxy 容器数量需要新加集群节点,所以决定新增服务器.
  • 5.新增服务器后情况得到缓解,但是还有服务不稳定的情况.这个时候 ecscpu使用率cpu负载都很低了, proxy 的资源消耗有部分节点 cpu使用率超过100%,但是大部分已经是正常的了.这个时候一直找不到原因,但是用户那边一直反馈服务还是不稳定.一直认为是 proxy 的问题,所以提交了工单,询问阿里云工程师怎样提高proxy服务的cpu资源,阿里云工程师建议使用 scale,增加 proxy 容器的数量.
    因为重新调度 proxy 会导致服务停止30s左右,为了不影响用户,也不确定是否能解决问题,所以决定等晚上再操作,继续增加容器节点,提高 proxy 容器节点.
  • 6.增加服务器后,情况并没有得到缓解,还是会出现该问题.同时,同事查看了负载均衡的监控数据,发现负载均衡出现丢弃连接数,正常情况1个丢弃连接数都不应该出现的,查看负载均衡配置,只支持 5000 并发连接数,遂升级负载均衡配置,后续持续观察,服务变得稳定.

中间插曲

  • 1.新增容器节点服务部署失败,拉取不了镜像.新增的节点没有绑定公网 ip,不能访问公网,需要绑定公网 ip 或者使用 vpcNAT网关.
  • 2.新增容器节点连不上 redis,最开始没有设置 redis连接白名单,后来设置之后还是连不上,提交阿里云工单咨询工程师,白名单添加无效,经阿里云修复后解决.将 redis 也加到安全组中.
  • 3.对阿里云容器服务编排模板自定义便签 cpu_shares: 50 #0.5核mem_limit: 536870912 #512MB的认知有歧义,在不确定意思的情况下进行了操作.查询 docker 文档后 容器资源限制
    docker 默认对容器不做限制.

问题再次出现预防手段

确定问题排查步骤

服务架构
排查步骤
增加服务报警
  • 并发丢弃报警

总结

经过这次事件,总结如下:

  • 1、需要对整个流程都清晰
  • 2、不清楚的操作一定要在了解清楚后在操作,不要拿用户去冒险
  • 3、犯的错误需要记录下来,转变成文字

台式机装机问题

下载镜像,制作启动U盘

台式机配置:

  • CPU i7-8700
  • 主板 华硕 B360
  • 显卡 GTX 1050 TI

镜像版本 10.13.6

一般都到黑果小兵下载, 我安装的是 10.13.6,最新 10.14 驱不动。下载完成使用 TransMac 制作启动盘

制作启动盘教程

其他正常安装即可

遇到的问题

遇到问题还是要查英文,中文真的找不到.

黑苹果安装到最后两分钟卡住不动

https://www.tonymacx86.com/threads/mojave-installation-freezes-at-2-minutes-left.262173/page-3#post-1855421

24楼提供的解决方案
解决方案.png
我是以网友提供的EFI为主,加上我原来就能启动的EFI的里面的驱动目录覆盖他的驱动,我的EFI 下载地址

黑苹果 webdriver 显卡不能切换成独显

https://www.tonymacx86.com/threads/nvidia-releases-alternate-graphics-drivers-for-macos-high-sierra-10-13-6-387-10-10-10-40.255913/

图片.png
1楼提供的解决方案,需要下载软件,下载地址,设置 Bootloaders > Clover UEFI Boot Mode + Emulated NVRAM` 即可

黑苹果双屏问题

https://www.tonymacx86.com/threads/solved-black-screen-with-dual-monitor-connected.223082/page-4
第39楼
驱动装好之后,接双屏不能启动.首先需要开启 BIOSCMS 模式,然后修改配置,修改软件 Clover Configurator
我的正确配置如下图
2-2.jpg

笔记本装机问题

hd630 显存只有 7M,修改设置 Devices Fake ID,ig-platform-id.
注意需要 IntelGraphicsDVMTFixup.kext 驱动

原来的ig-platform-id=0x12345678
原ig-platform-id.png

根据对应设备设置对应的ig-platform-id即可.
FakeID设置.jpg
图片.png
成功图.jpg

一、概述

redis 使用C语言编写的高性能键值对内存数据库,仓库地址

支持的键值数据类型:

  • 字符串
  • 列表
  • 有序集合
  • 散列
  • 集合

redis的主要应用场景:

  • 缓存
  • 消息队列
  • 计数
  • 排行榜

二、redis 数据类型

键值对key的注意事项:

  • 不要过长 最好不要超过1024个字节,不仅消耗内存,也影响查找效率
  • 不要过短 比如设置为a,没有实际意义,可能会降低key的可读性
  • 统一命名规范

字符串

string 中的一个 key 对应一个 value

常用命令:

  • set key value # 赋值
  • get key # 取值
  • getset key value # 取原值并设置新值
  • incr key # 自增1,如果该key不存在,则创建该key,并赋值为0,key存在,则自增加1
  • incrby key num # 自增指定值
  • decr key # 自减
  • decrby key num # 自减指定值

哈希 hash

hash可以存储多个键值对之间的映射

  • hset key field value # 设置单个
  • hmset key field value [field value ... ] # 一次设置多个

列表

  • lpush key value [value ...] # 从列表左边推入
  • rpush key value [value ...] # 从列表右边推入
  • lrange key start stop # 查看列表,lrange key 0 -1 查看整个列表

通用 key 操作

  • expire key second # 设置 key 的有效期
  • ttl key # 查看 key 的离到期还剩多少秒
  • type key # 查看 key 的类型
  • del key #删除 key

参考资料