给代码加入了toml支持

足足忙了半年,代码也没怎么更新过,每天靠游戏强行提神,最近终于空点有精力调整代码了。

首先做的是调整了配置文件格式。

从配置文件来说.TOML比JSON好的太多了。

唯一的问题是golang的两个toml库

https://github.com/pelletier/go-toml

https://github.com/BurntSushi/toml

都有各自的问题。

后者已经停止更新很久了。

前者的话,功能十分强大。但是无法有类似json.RawMessage般可以二次解析的库,也没不能解析结构中的interface.把代码hack一下可以使用。但看了下完整的代码中用的都是比较死,想要完全调整还是有点复杂的。

发布于
2018-08-01

debian 9.0+nginx v1.10.3 与windows server 2016 + iis 10.0的低配置环境下静态小文件benchmark对比

知乎上遇到杠精,硬和我吹nginx+linux怎么对windows+iis有压倒性优势,硬要说静态文件上有优势。

好吧,反正现在云服务器可以按时间开,可以一试。

试验目的:

通过apache ab,访问指定的小文件,对比rps。

试验对象:

web服务器根目录下,名字为1.txt,内容为jarlyyn换行的小文件。

测试结果

  • 100并发情况下,nginx 每秒请求20976,失败请求0。iis每秒请求20421,失败请求0.
  • 500并发情况下,nginx 每秒请求21933,失败请求0。iis每秒请求19521,失败请求0.
  • 1000并发情况下,nginx 每秒请求15887,失败请求1093。iis每秒请求18220,失败请求0.
  • 2000并发情况下,nginx 每秒请求12218,失败请求1923。iis每秒请求17430,失败请求0.

结论

在1000以下的低并发情况下,nginx表现优异,对iis大概有10%的优势。1000并发级以上时,出现大量失败请求,rps相比iis极速下降。

iis整体随着并发数上升,相应速度组件下降,到2000并发为止,没有请求失败的情况出现。


服务器列表:

  1. 跑ab的测试机,ulimit -n 100000,无其他特殊设置。1核2g内存。
  2. 安装debian 6.0 跑nginx的对象A,apt-get 安装,ulimit -n 100000,关闭日志,无其他特殊设置。1核2g内存。
  3. 安装windows server 跑iis 10.0的 对象b,系统服务管理器安装,关闭日志,无其他特殊设置。1核2g内存。

附图:

访问测试,确保内容正确

由于Bom的缘故,iis版的测试文件大了1byte。但这个对全局影响不大。

nginx服务器:

iis服务器:


测试1:100并发

nginx图:



IIS图



测试2:500并发

nginx图:


iis图:



测试3:1000并发

nginx图:



IIS图:



测试4:2000并发

nginx图:



iis图:



发布于
2018-07-10

这不是阿根廷队

昨天加班回家,吃完饭,正好球赛开始,看了这场阿根廷对克罗地亚的比赛。

作为一个多年只看世界杯阿根廷比赛的伪球迷,只能表示,这只绝对不是阿根廷队。

上一场对冰岛还有力气骂一骂吐个槽,这场骂都不想骂,只想给克罗地亚加油了。

这不是阿根廷队。

这一届的阿根廷队,应该是没进世界杯决赛圈。

发布于
2018-06-22

过滤所有中文的脚本

要做网站翻译,整理了个提取中文的脚本

find . -name "*.php" -exec grep -Po "[\x{4e00}-\x{9fa5}]+" {} \; > /tmp/output.txt
发布于
2018-06-15

游戏真的玩不过来了……

前几天刚把神界原罪1的荣耀和孤狼都打通了

今天看到神界原罪2的中文汉化出来乐。

果断第一时间入。

这下好了,

游戏目前有永恒之柱2,神界2,巫师3等着去清。

dota2的plus和ti8本买着,一堆任务等着去做。

今年还有全战3国肯定要入手,文明6的dlc考虑也如一个。

时间实在是挤不过来了……

发布于
2018-05-17