redis HashTags

Posted by 夏泽民

有些时候我们希望某一部分key可以落到同一个数据分片上。



GEODNS GeoIP

Posted by 夏泽民

GeoDNS 是什么,可以说是SLB + IP Geolocation + DNS View 组合 https://github.com/abh/geodns 我在A 国有一台server ,B 国有另一台server



Benchmark

Posted by 夏泽民

https://github.com/xiazemin/Benchmark/blob/master/READEME.md https://github.com/brendangregg/FlameGraph https://github.com/uber-archive/go-torch



TCP_CORK tcp_push TCP_NODELAY 和 TCP_NOPUSH

Posted by 夏泽民

用户层可通过setsockopt系统调用设置TCP套接口的TCP_CORK选项。开启时,内核将阻塞不完整的报文,当关闭此选项时,发送阻塞的报文。此处的不完整指的是应用层发送的数据长度不足一个MSS长度。使用场景是在调用sendfile发送文件内容之前,提前发送一个描述文件信息的头部数据段,并且阻塞住此头部数据,与之后的sendfile数据一同发送。或者用于优化吞吐性能。但是,TCP_CORK最多只能将数据阻塞200毫秒,如果超过此时间值,内核将自动发送阻塞的数据。



pid 文件作用

Posted by 夏泽民

打开系统(Linux) 的 “/var/run/” 目录可以看到有很多已 “.pid” 为结尾的文件 这些文件只有一行,它记录的是相应进程的 pid,即进程号。所以通过 pid 文件可以很方便的得到一个进程的 pid,然后做相应的操作,比如检测、关闭。 重要的作用,那就是防止进程启动多个副本。通过文件锁,可以保证一时间内只有一个进程能持有这个文件的写权限,所以在程序启动的检测逻辑中加入获取pid 文件锁并写pid文件的逻辑就可以防止重复启动进程的多个副本了。 /var/run是干什么用的 根据linux的文件系统分层结构标准(FHS)中的定义:



Search

Popular posts

Anything in here will be replaced on browsers that support the canvas element

Recent posts

This blog is maintained by 夏泽民

Get in touch with me at 465474307@qq.com

Subscribe to our mailing list

* indicates required