0%

不知道你有没有这种需求了,有大量的数据需要处理,但是系统的资源有限,所有只有开一个固定的进程数进行处理,一个进程结束下一个进程直接顶上。可能在其他语言中称这种处理方式为异步,但是在 go 中叫进程池更准确。

我之前获取了大概 两百万的数据需要处理,这两百万调数据涉及网络访问,网络响应大概在一毫秒到十秒之间。之前是在云服务器上处理数据,因为是并发的效率较低。大概是 1k goroutine 在处理数据,比较占用 cpu 所以打算迁移到位于本地的树莓派上处理。当调用 1k goroutine 时,程序大概会在过几秒钟后崩溃,调低 goroutine 数后正常了这个数字我调到了 200。这意味着效率降低了 5倍 。俗话说的好,穷则思变,或者说之前的程序只是打草稿,我本来就打算改进。改用了进程池来处理数据。改用进程池后,虽然由于树莓派的性能限制,goroutine 数降低了5倍,但是效率在原来1k goroutine 上还提升了 5 倍。

阅读全文 »

前言

我记得以前玩 centos7 的时候,有一次新开服务器,服务器开完后我就碎觉了。第二天早上登录的时候看到有 一千五百个错误登录,感觉蛮烦的而且因为是新开所以没有设置 ssh key 还是有一定几率被攻破的。

关于 ssh 的防护修改一下 ssh 的默认监听端口就能免疫 99% 的爆破攻击。

阅读全文 »

前言

apt 作为 debian 的包管理器,从 debian8 开始加入 debian, 之前是 apt-get,然后 debian 更新了这么久了,依然还有很多人使用 apt-get。一般来说建议 人使用 apt 而脚本使用 apt-get,能少打几个命令为什么不少打了。

还有就是记录一下 apt 的配置,因为网上的教程感觉有点“上古”风格了,比如 apt 的代理设置,可能在曾经是正确的,如果现在依然跟着这些上古教程有的话很有可能是不能使用的。查资料最痛苦的莫过于明明知道别人写的是错的,却还要继续查下去。

阅读全文 »

最近在搞 linux 自动发邮件的事,之前使用了 smstp 发送 gmail 不过这种方式感觉和我需要的有一点差距,所以打算使用 golang 进行发送邮件。因为 gmail 的 smtp 是必须 TLS 的,所以我在网上查阅了一下资料。发现了一篇不错的代码。然后稍微定制了一下。

阅读全文 »

前言

有时候我们可能需要对服务器进行监控,一开始我是打算使用短信 api 的,但是国内的两家云服务商,一家需要资质,一家要钱。而且我根本用不到这么多,所以不值得付出这么高的代价。关于为什么不自建邮局,那是因为确实用不到这么多的量,而且也没找到自己满意的邮局程序。

发送邮件我使用的 smtp,邮箱用的 gmail。注意哦要想使用 smtp 发送 gmail 邮件,需要在账号安全里允许不安全应用访问。

本次演示基于 debian 理论上适合于所有 linux 发行版

阅读全文 »

前言

docker 非常的简单,在目标软件需要庞大的依赖的时候,我们只需要使用官方或者第三方打包好的镜像即可快速安装软件,当然也是有代价的,资源占用稍微多一点,不过比起花费大量的时间和知识起一套环境是值得的。

本次演示将在 debian9 和树莓派上进行。

阅读全文 »

前言

由于 vulrt 没有提供开箱即用的 arch 镜像所以不得已只有手动安装 arch 了。至于为什么要安装 arch ,我个人的原因是因为 arch 有较新版的 gcc 。

顺便说一句不要看 vultr 官方文档的 arch 安装,简直有毒

阅读全文 »

常常有人用 go 与 c语言比较二进制的大小,而且举例 go 生成的二进制多么的大 c 生成的二进制多么的小,这点我是看不下去的。因为 go 官方的编译器生成的二进制是静态的,而 c 语言一般使用 gcc 生成 二进制,而 gcc 默认是动态的。用静态和动态比较是非常不公平的。如果实在需要比较的话,就静态对静态 动态对动态。

linux 可以使用 ldd 查看 可执行文件是否包含动态链

接下来就开始演示了。

阅读全文 »

前言

upx 是一款压缩可执行文件的软件,压缩率在 20% 到 %70 之间。在可执行文件运行的时候并不需要解压软件,程序在内存中自动展开。

本教程在 linux 下进行,理论上支持所有 linux 发型版。

阅读全文 »

前言

centos 作为 RHEL 了延伸版继承了 RHEL 的稳定性,但是稳定是有代价的,就是源里的安装包过于老旧,所以我们在某些时候不得不编译软件,但是手动编译的话容易造成服务器的不稳定,除非清楚的知道自己做了什么。不然的话我是建议编译的。而且使用源方式安装的软件对比编译安装时有很多优势的。

除非你很有钱一个服务器只承载单一服务,那就随便了。

阅读全文 »