随笔分类 - programming c linux
摘要:1、目前线上问题出现内存泄露, 怎样使用shell脚本 执行gdbattach 后 break bt quit等快速执行呢? 2、多进程 多线程一般会用到那些命令? 对于第一个问题: 以前文章有:gdb快速打印线程堆栈 目前可以参考脚本: ##############################
阅读全文
摘要:昨天修改客户一个插件模式时。出现了listen_fd + fork+epoll_wait 模式的惊群线程。随后惊群会唤醒所有的进程,但是由于accept的时候会对listen fd上锁,所以基本上第一个accept的会处理完一直到主动退出或者新链接处理完。 当时准备设置一把锁,让各个进程来抢占想ng
阅读全文
摘要:可以看以前的epoll 分析 对于epoll_wait&& accept惊群问题: 通过锁机制解决惊群效应是一种方法,在任意时刻只让一个进程(线程)处理等待的事件。但是锁机制也会造成cpu等资源的消耗和性能损耗。 目前一些常见的服务器软件有的是通过锁机制解决的,比如nginx(它的锁机制是默认开启的
阅读全文
摘要:Delayed ACK Delayed ACK是TCP 的一种流控手段。如果有响应数据发送时,ACK会随响应数据一起发送给对方;如果没有响应数据,ACK的发送就会有延迟,以等待看是否有响应数据一起发送。 Nagle算法 Nagle算法是通过减少网络连接中<MSS的数据包的数量,从而防止网络拥塞的控制
阅读全文
摘要:翻看以前的文章 keepalive定时器 persist定时器 两者报文形式: 零窗口通知包:win=0 keepalive包:seq=ack-1, len = 1或者len = 0 keepalive报文 SLE: Sequence Left Edge of already acknowledge
阅读全文
摘要:一个https连接中, client先关闭后, 抓包发现server 端会发出close notify 为啥??(上述报文是没有解密的) SSL_shutdown() shuts down an active TLS/SSL connection. It sends the close_notify
阅读全文
摘要:转载:How long does it take to make a context switch That's a interesting question I'm willing to spend some of my time on. Someone at StumbleUpon emitte
阅读全文
摘要:第一部分:系统运行级别定义 0、 关机,不要把系统缺省运行级别设置0 ,否则无法正常启动 1、单用户模式,允许ROOT用户对系统进行维护,不允许其它用户 2、多用户模式,在该模式下不能使用NFS 3、完全多用户模式,主机作为系统服务器通常处理该模式下(完全服务) 4、 5、图形登录模式,用户在该模式
阅读全文
摘要:参考:http://blog.yufeng.info/archives/747 参考:https://www.cnblogs.com/emperor_zark/archive/2012/12/11/context_switch_1.html 在做Linux服务器的时候经常会需要知道谁在做进程切换,什
阅读全文
摘要:目前做反向代理的性能优化时出现 connect 失败, 根据errno 可知, 不能bind当前ip +port; #define EADDRNOTAVAIL 99 /* Cannot assign requested address */ 参考分析:connect内核代码 int __inet_h
阅读全文
摘要:参考:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers GET /v.gif?ct=2&logFrom=feed_index&logInfo=top_refresh&qid=0x8f3c9a6a00094d65&logid=21511
阅读全文
摘要:OPTIONS(选项) OPTIONS 方法表明请求想得到请求/响应链上关于此请求里的 URI(Request-URI)指定资源的通信选项信息。此方法允许客户端去判定请求资源的选项和/或需求,或者服务器的能力,而不需要利用一个资源动作(译注:使用 POST,PUT,DELETE 方法)或一个资源获取
阅读全文
摘要:1.3 Quick Checklist for Choosing HTTP GET or POST Use GET if: The interaction is more like a question (i.e., it is a safe operation such as a query, r
阅读全文
摘要:今天在做吞吐性能优化时,涉及到了零拷贝的问题, 以前只是用sendfile 或者mmap。今天系统的看下总公有哪些零拷贝API以及使用场景。 常见的拷贝优化方案 memory mapping shared buffers in kernel memory space shared buffers b
阅读全文
摘要:perf stat -r 5 -e cache-misses,cache-references,instructions,cycles,L1-dcache-stores,L1-dcache-store-misses -a perf record -e cache-misses 其实一般使用perf
阅读全文
摘要:目前编译glibc库时发现 glibc中已定义的libpthread库函数?同时查看当前server下glibc以及pthread库,发现也是都定义了同样的函数。那如果这样的话,gcc 编译时同时引入 glbc以及libpthread不会报错吗?但是实际上不会!! 参考这个讨论话题:why-glib
阅读全文
摘要:1、引言 本文来自 Marek’s 博客中 I/O multiplexing part 系列之三和四,主要讲 Linux 上 IO 多路复用的一些问题 Epoll is fundamentally broken 1/2 Epoll is fundamentally broken 2/2 4. epo
阅读全文
摘要:自从linux 2.6.9后linux提供了驱动级的系统函数splice。它的作用是在文件描述符直接转发数据,直接对内核内存块做引用标记而不需要借用用户内存复制数据。这样就大大节省了分配内存,再read和write的性能消耗。 自己用了一下这个函数发现总是返回EINVAL,于是去阅读HAProxy的
阅读全文
摘要:当后端是缓存服务器时,经常使用一致性哈希算法来进行负载均衡。 使用一致性哈希的好处在于,增减集群的缓存服务器时,只有少量的缓存会失效,回源量较小。 在nginx+ats / haproxy+squid等CDN架构中,nginx/haproxy所使用的负载均衡算法便是一致性哈希。 我们举个例子来说明一
阅读全文
摘要:在使用ss 查socke 状态时,突然发现unix socket中存在unix|unix_dgram|unix_stream|unix_seqpacket 这三种类型,于是看了相关资料。 看了一下stackoverflow 相关知识! The main difference is that one
阅读全文

浙公网安备 33010602011771号