SSH协议和原理浅析

作为一名服务器开发,每天都会使用到SSH,我们从第一次接触服务器的时候就接触了SSH,但我们真的了解SSH吗,最近在使用github的private repo的时候发现只有使用公私钥的验证方式才能clone repo到本地,由此决定好好整理一下SSH的设计原理和协议细节,让自己对SSH有一个深入的认识。

性能压测过程中关于CPU使用率的思考

最近在压测过程中,遇到了很多问题,也加深了自己对于程序性能包括CPU使用率,内存占用等各个指标的深入思考。测试同学在压测过程中主要考虑的是TPS,CPU使用率,延迟这几个指标。我们先介绍这个几个常用的性能指标,然后再进入我们的本文的正题,CPU的使用率是怎么来计算的,以及怎么来评估CPU的使用情况。

initializer_list 引发的栈溢出问题

最近项目要进行最后一次线上测试,对一些新增的server进行压测,在对同事用我写的协程框架搭建的ranksvr的时候进行压测的时候,ranksvr挂掉了,由于是压了一段时间才挂掉,所以有特定的业务逻辑触发了栈溢出,由于涉及到调用公司第三方API所以,查起来还是比较麻烦,一开始经过加日志,查看栈使用情况,但是发现在栈溢出前业务逻辑的栈使用情况正常。

性能分析利器之perf浅析

作为服务器后台开发,不仅仅要写业务逻辑,后台意味着高并发,稳定性,当你写了很多逻辑,发现性能有问题的时候,也要学会性能分析,进行性能优化, 也许你会接触很多性能分析工具:valgrind,gperftools,gprof, oprofile, 有时间慢慢一一介绍,在学习perf的过程中,也学习和加深了很多之前的知识,本文抛砖引玉,希望能帮助大家了解一些性能分析更深的一些东西。

SWIG之为C/C++的API生成Python调用接口基础

现在游戏业务的cache基本都是接入tcaplus,以前业务自己拥有cache的时候我们可以很方便去通过脚本去访问玩家的数据,所以最近想能不能对tcaplus生成Python的访问接口,由于tcaplus只提供了C++ API屏蔽了底层的协议数据细节,不太好直接写Python访问接口,偶然间接触到了SWIG,差不多花了一周时间,通过官方手册完成了SWIG对Tcaplus Python 接口的封装。