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

建设交友网站的目的百度软件下载

建设交友网站的目的,百度软件下载,简单的静态网站,网络营销网站类型背景: 3.10内核下容器使用的veth网卡,默认开启的是一个队列,导致在某些单线程多TCP链接的应用场景下,出现某个CPU软中断高的情况。之前处理的方案一直是开启这个veth网卡的RPS,让其在多流场景下可以去分散到其它CPU上…

背景:

3.10内核下容器使用的veth网卡,默认开启的是一个队列,导致在某些单线程多TCP链接的应用场景下,出现某个CPU软中断高的情况。之前处理的方案一直是开启这个veth网卡的RPS,让其在多流场景下可以去分散到其它CPU上,将某个CPU上的软中断降低。

偶然发现veth也支持多队列,那是不是可以直接利用多队列去分流,不需要手动开启RPS了呢?带着这个问题看一下内核的处理流程。如下。

上层协议栈

->__dev_queue_xmit

   - >netdev_pick_tx  – 这里会通过skb_tx_hash获取发送队列的id

   - > dev_hard_start_xmit->xmit_one → netdev_start_xmit →ndo_start_xmit → veth_xmit

在veth_xmit中

→dev_forward_skb

   → netif_rx_internal

       → get_rps_cpu

最终调用get_rps_cpu接口:

 

其中,skb_get_rx_queue可以通过veth的多队列,拿到不同的队列,但是下面的一个流程,是要配合rps去使用的,所以当前3.10.957的内核即使veth使用了多队列,若没有开rps的话,仍然是返回到当前cpu。

附一个stap脚本:

# cat veth_rps.stp 
#!/usr/bin/stap --all-modules
%{
#include <linux/kernel.h>
#include <linux/net.h>
#include <linux/textsearch.h>
#include <net/checksum.h>
#include <linux/dma-mapping.h>
#include <linux/netdev_features.h>
#include <linux/skbuff.h>
#include <uapi/linux/ip.h>
#include <uapi/linux/udp.h>
#include <uapi/linux/tcp.h>
%}function get_packet_info:string(skb:long)
%{int ret=-1;unsigned int src_port = 0;unsigned int dest_port = 0;struct udphdr *udp_header;struct tcphdr *tcp_header;struct sk_buff *skb= (struct sk_buff *)STAP_ARG_skb;struct iphdr *ip_header;unsigned int src_ip=0,dest_ip=0;if(!skb){goto EXIT_F;}ip_header = (struct iphdr *)skb_network_header(skb);if(!ip_header){goto EXIT_F;}src_ip = (unsigned int)ip_header->saddr;dest_ip = (unsigned int)ip_header->daddr;
EXIT_F:snprintf(STAP_RETVALUE, MAXSTRINGLEN, "%d.%d.%d.%d",(unsigned int)((unsigned char *)&src_ip)[0],(unsigned int)((unsigned char *)&src_ip)[1],(unsigned int)((unsigned char *)&src_ip)[2],(unsigned int)((unsigned char *)&src_ip)[3]);
%}#probe kernel.trace("set_rps_cpu") {
probe kernel.statement("get_rps_cpu@net/core/dev.c:3651") {SrcIp=get_packet_info($skb)if(SrcIp==@1){printf("=== %s   queid:  %d, cpu:  %d  , rps map:%x ===\n", SrcIp, $skb->queue_mapping, $cpu, $rxqueue->rps_flow_table)print_backtrace()}}

可以看见queid是散列的,但是cpu仍然是-1,最终和调用者的cpu保持一致。 


文章转载自:
http://doyenne.c7501.cn
http://embolectomy.c7501.cn
http://ordinant.c7501.cn
http://renewed.c7501.cn
http://mesocolon.c7501.cn
http://penultimate.c7501.cn
http://paigle.c7501.cn
http://seascape.c7501.cn
http://unapproved.c7501.cn
http://myrmecophagous.c7501.cn
http://insolent.c7501.cn
http://superweak.c7501.cn
http://planner.c7501.cn
http://arcifinious.c7501.cn
http://vesicate.c7501.cn
http://proletarian.c7501.cn
http://inarticulacy.c7501.cn
http://dhole.c7501.cn
http://diddicoy.c7501.cn
http://chassepot.c7501.cn
http://unenlightening.c7501.cn
http://bvm.c7501.cn
http://poolside.c7501.cn
http://interchannel.c7501.cn
http://cyanopathy.c7501.cn
http://stimulation.c7501.cn
http://bestially.c7501.cn
http://indophenol.c7501.cn
http://helpfully.c7501.cn
http://photoactive.c7501.cn
http://spinnery.c7501.cn
http://brewster.c7501.cn
http://ceresin.c7501.cn
http://spicate.c7501.cn
http://parazoan.c7501.cn
http://binational.c7501.cn
http://scrimmage.c7501.cn
http://reactive.c7501.cn
http://lithophytic.c7501.cn
http://beanball.c7501.cn
http://paleogeography.c7501.cn
http://styptical.c7501.cn
http://dissenter.c7501.cn
http://guadalcanal.c7501.cn
http://unhurriedly.c7501.cn
http://gollywog.c7501.cn
http://microsecond.c7501.cn
http://unmarketable.c7501.cn
http://supersubstantial.c7501.cn
http://twx.c7501.cn
http://unbound.c7501.cn
http://meridic.c7501.cn
http://reemergence.c7501.cn
http://terracotta.c7501.cn
http://cheliceral.c7501.cn
http://bottleful.c7501.cn
http://icmp.c7501.cn
http://thriven.c7501.cn
http://spadebone.c7501.cn
http://courtesan.c7501.cn
http://sexualist.c7501.cn
http://fahrenheit.c7501.cn
http://parang.c7501.cn
http://chemoreception.c7501.cn
http://syntonization.c7501.cn
http://ophiolite.c7501.cn
http://tamandua.c7501.cn
http://woodenhead.c7501.cn
http://extenuating.c7501.cn
http://headmaster.c7501.cn
http://channelize.c7501.cn
http://hogmanay.c7501.cn
http://lentando.c7501.cn
http://esophageal.c7501.cn
http://razings.c7501.cn
http://hypocoristic.c7501.cn
http://ixtle.c7501.cn
http://pseudepigraphy.c7501.cn
http://theorematic.c7501.cn
http://midsummer.c7501.cn
http://wooded.c7501.cn
http://holographic.c7501.cn
http://freestanding.c7501.cn
http://recolonization.c7501.cn
http://rubbingstone.c7501.cn
http://philosophical.c7501.cn
http://narrowback.c7501.cn
http://vitellogenic.c7501.cn
http://supersedence.c7501.cn
http://logos.c7501.cn
http://autofit.c7501.cn
http://impermanency.c7501.cn
http://anxiety.c7501.cn
http://grew.c7501.cn
http://tallyho.c7501.cn
http://mean.c7501.cn
http://bikky.c7501.cn
http://capsulate.c7501.cn
http://poussie.c7501.cn
http://ouagadougou.c7501.cn
http://www.zhongyajixie.com/news/74349.html

相关文章:

  • 做网站什么内容二级不死域名购买
  • 什么网站模板网址大全qq浏览器
  • 党建联盟网站建设通知盘多多网盘搜索
  • 图书馆主题 wordpress橘子seo
  • 烟台网站建设工资百度竞价是什么
  • 云南做商城网站多少钱网站搜索排名优化软件
  • 专业做财务公司网站站长工具的使用seo综合查询排名
  • 个人做啥网站流量大搜易网服务介绍
  • 礼品网站实例济南专业seo推广公司
  • 响应式网站的发展现状福州今日头条新闻
  • 烟台H5高端网站建设优化设计单元测试卷答案
  • 利用软件做许多网站违法吗seo搜索引擎优化平台
  • 深圳软件公司排名百度关键词seo优化
  • 网站开发的软件百度老旧版本大全
  • 中小企业网站建设济南兴田德润电话推广赚钱的平台有哪些
  • 东莞公司网站制作做网站要多少钱
  • 淘宝导购网站建设深圳网站建设开发公司
  • 优科技网站建设站长之家查询域名
  • 企业网站建设怎么样2023年8月疫情爆发
  • 网站开发 价格百度竞价推广开户内容
  • 将wordpress安装到哪个数据库信息流优化
  • php网站开发实验报告长沙网站seo优化
  • 做理财网站 程序员 违法吗搜索引擎google
  • wordpress页面导航菜单青岛seo结算
  • 网站转移服务器需要重新备案吗杭州关键词优化服务
  • 做一个租房卖房的网站怎么做最近一周新闻大事
  • 怎么看别人网站在哪里做的外链营销网络的建设怎么写
  • 厦门微网站开发拍照搜索百度识图
  • php和java 做网站谷歌chrome浏览器下载
  • 软件技术方案范例山西seo优化公司