PNP : procmon

数据的收发交给网络库,业务逻辑才是网络编程的重点。

侵入式 : 做成一个库,使用者连接这个库。能够看到程序的内部状态,但是需要使用同一种语言,需要重新编译。

非侵入时:无需重新编译,但是无法看到程序的内部状态,只能看到cpu使用率,内存使用量等信息。

如何画图

  • 独立的画图服务器
  • JavaScript: jqPlot flot
  • 使用libgd

CPU使用率:一段时间内cpu的占空比。 比如让cpu是20%的利用率:

这里写图片描述

将1秒钟分成100分,想要得到20%的cpu利用率只要让cpu载20份中busy,80份中空闲即可,而且需要热昂20份的busy均匀的分布到80的空闲时间中(使用到了bresenham算法)

可以使用ab来测试http server的性能,这里可以用来测试procmon。

使用长连接 -k
ab -k -n 10000 http://127.0.0.1:2345/

使用并发连接 -c
ab -k -n 10000 -c 2 http://127.0.0.1:2345/

请求分类:

  • IO 密集型 : 127.0.0.1/
  • CPU密集型: 127.0.0.1/cpu.png, 对于此类请求,可以想到使用线程池,此请求放入一个队列in,线程池从队列in中取出请求然后计算结果,最后将结果放到队列out中。

扩展
nohub扩展成web显示

这里写图片描述

真正的网络编程无需关心数据的收发(交给网络库去完成),只关心业务逻辑。

这里写图片描述

一个公司应该有已经封装好的库:入图中的NetLib,http,rpc。剩下要做的事情就是如何正确使用这些库解决业务逻辑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值