1229 - 彻底搞定了服务问题

2016-12-30 09:52:44来源:作者:Jason人点击

第七城市

问题表现:

基于 Swift + Ubuntu + Vapor 的服务经常崩溃

解决办法:

调试:使用 gdb 分析 core dump,找到崩溃的代码地址。 原因:是 AES256CBC.swift在调用 Linux 进程时,「偶尔」会导致 libswiftCore.so 崩溃。 办法:替换生成随机数的方式,最后使用的是: class func generate(_ upperBound: UInt32 = UInt32.max) -> UInt32 { #if os(Linux) srandom(UInt32(clock())) return UInt32(random()) % upperBound #else return arc4random_uniform(upperBound) #endif}

涉及主题:

gdb 调试 ulimit、prlimit 更新 core dump 大小限制 Swift + Ubuntu 下的随机数 分析 Linux 日志、日志分割 服务的生产环境、测试环境 Nginx 简单防 DDOS,即限制总连接数、单位时间请求数
第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台