当前位置: 首页 > news >正文

网站建设培训 店安全文化企业示范企业评价标准

网站建设培训 店,安全文化企业示范企业评价标准,云南网站制作,html5网站引导页模板问题背景: 为了分析udp数据通信中端到端的延迟,我们需要对整个通信链路的每个阶段进行监控,找出延迟最长的阶段. udp接收端有2个主要路径 1.数据包到达本机后#xff0c;由软中断处理程序将数据包接收并放入udp socket的接收缓冲区 数据接收流程 2. 应用程序调用recvmsg等a…问题背景: 为了分析udp数据通信中端到端的延迟,我们需要对整个通信链路的每个阶段进行监控,找出延迟最长的阶段. udp接收端有2个主要路径 1.数据包到达本机后由软中断处理程序将数据包接收并放入udp socket的接收缓冲区 数据接收流程 2. 应用程序调用recvmsg等api将数据从socket缓冲区读出 应用程序读取数据流程 2和1之间可能由于调度等造成延迟我们写一个bcc程序对指定接收端口和延迟大于某个值的情况进行监控 bcc程序原理 我们在流程1放入udp缓冲区时(udp_unicast_rcv_skb),记录此skb的时间 然后在流程2读取udp缓冲区时(__skb_recv_udp)时取出1中记录的skb时间并与当前时间做差值得到延迟. #!/usr/bin/python3 # lint-avoid-python-3-compatibility-imports # # udplatency Trace long udp recvmsg delays. # For Linux, uses BCC, eBPF. # # This script traces high delays between skb being # ready to in recv queue and them recvmsg on CPU after that. # # USAGE: udplatency [-d dport] [-l lat]import argparse import ctypes as ct from time import strftime from bcc import BPFbpf_text # include linux/ip.h # include linux/netfilter.h # include net/ip.h # include uapi/linux/bpf.hstruct data_t {u64 ts;u64 lat; };BPF_PERF_OUTPUT(events); BPF_HASH(recv_lat, struct sk_buff*);int kprobe__udp_unicast_rcv_skb(struct pt_regs *ctx, struct sock *sk, struct sk_buff* skb) {struct udphdr *udp_hdr (struct udphdr *)(skb-head skb-transport_header);u16 dst_port bpf_ntohs(udp_hdr-dest);if (dst_port DST_PORT) {u64 ts bpf_ktime_get_ns();recv_lat.update(skb, ts);}return 0; };int kretprobe____skb_recv_udp(struct pt_regs *ctx) {struct sk_buff* skb (struct sk_buff*)PT_REGS_RC(ctx);struct udphdr *udp_hdr (struct udphdr *)(skb-head skb-transport_header);u16 dst_port bpf_ntohs(udp_hdr-dest);if (dst_port DST_PORT) {struct data_t data {};u64 *tsp recv_lat.lookup(skb);if (tsp ! 0) {Home bpf_ktime_get_ns() - *tsp;}recv_lat.delete(skb);if (data.lat LAT_NS) {bpf_probe_read_kernel((data.ts), sizeof(*tsp), tsp);events.perf_submit(ctx, data, sizeof(data));}}return 0; } class EventData(ct.Structure):_fields_ [(ts, ct.c_ulonglong),(lat, ct.c_ulonglong)]def print_event(cpu, data, size):event ct.cast(data, ct.POINTER(EventData)).contentsprint(%-8s ts:%d lat: %dms\n % (strftime(%H:%M:%S), event.ts, event.lat / 3000000))parser argparse.ArgumentParser(descriptionTrack udp recv latency) parser.add_argument(-d, --dport, typeint, requiredTrue,helpudp dst port) parser.add_argument(-l, --lat, typeint,helpreport latency ns, default is 3000000) args parser.parse_args()lat_ns 3000000if args.lat:lat_ns args.latbpf_text bpf_text.replace(DST_PORT, str(args.dport)) bpf_text bpf_text.replace(LAT_NS, str(lat_ns))# initialize BPF b BPF(textbpf_text)b[events].open_perf_buffer(print_event) while True:try:b.perf_buffer_poll()except KeyboardInterrupt:exit()
http://wiki.neutronadmin.com/news/313131/

相关文章:

  • 移动端网站一般宽做多大建站行业导航网站
  • 网站样式用什么做的区块链开发平台
  • 社保网站上怎么做减员wordpress重定向次数过多
  • 深圳html5网站建设高明区做网站
  • 企业门户网站实现网站设计公司 杭州
  • wap网站psd重庆综合网站建设配件
  • 百度推广需要先做网站吗视频网站开发
  • 静态网站作品我也来做外国网站购物
  • 门户网站开发 南宁合肥百度搜索优化
  • 中国网站建设公司图片个人注册商贸公司流程和费用
  • jsp 网站开发环境内蒙古微信公众号114查
  • 做网站的常识广西水利电力建设集团网站
  • 卖书的网站怎么做成都网站定制费用
  • 深圳手机端网站建设大学网站建设招标方案
  • 优秀网站网页设计分析政务网站群建设
  • 做快递单的网站会不会是骗人的信用门户网站建设规范
  • wordpress成品网站云部落手机淘宝客网站怎么做的
  • 哈尔滨企业建站系统企业网站建设趋势
  • 天河区做网站让别人做网站要注意什么
  • 杭州网站推广营销服务wordpress 斜杠结尾
  • 个人建设网站WordPress模板修改后无反应
  • 公司开个网站多少钱wordpress4.9.6 备案
  • 3g微网站是什么东莞技术好的网站建设推广
  • 梨树县住房和城乡建设局网站网站 解析
  • asp双语网站后台怎么用在西安市建设工程交易中心网站上
  • 哪些网站适合做外贸网站推广网站开发的流行架构
  • wordpress后台乱了是怎么回事南昌seo推广
  • 网络优化网络维护网络建站开发公司利用员工身份贷款买房子
  • 2003系统建网站如何做阿里巴巴网站
  • 用jsp做视频网站做网站需要视频衔接怎么做