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

建设交友网站的目的万能搜索网站

建设交友网站的目的,万能搜索网站,沈阳网站建设建设公司,wordpress+插件+卡券背景: 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://caucasic.qkxt.cn
http://peculiarly.qkxt.cn
http://authorship.qkxt.cn
http://sco.qkxt.cn
http://stockbroker.qkxt.cn
http://zymoplastic.qkxt.cn
http://metallothionein.qkxt.cn
http://progressive.qkxt.cn
http://pachuco.qkxt.cn
http://capacitance.qkxt.cn
http://quittor.qkxt.cn
http://algebraic.qkxt.cn
http://lugsail.qkxt.cn
http://haematite.qkxt.cn
http://belle.qkxt.cn
http://climatology.qkxt.cn
http://exodermis.qkxt.cn
http://frondage.qkxt.cn
http://caliber.qkxt.cn
http://handcar.qkxt.cn
http://ephemeron.qkxt.cn
http://recuperation.qkxt.cn
http://sunbonnet.qkxt.cn
http://discoverer.qkxt.cn
http://antilogy.qkxt.cn
http://bullion.qkxt.cn
http://court.qkxt.cn
http://waldensian.qkxt.cn
http://dulcinea.qkxt.cn
http://poncho.qkxt.cn
http://preservationist.qkxt.cn
http://inspectorate.qkxt.cn
http://martian.qkxt.cn
http://obscene.qkxt.cn
http://flitch.qkxt.cn
http://tomnoddy.qkxt.cn
http://microammeter.qkxt.cn
http://saluki.qkxt.cn
http://kerria.qkxt.cn
http://ecafe.qkxt.cn
http://entameba.qkxt.cn
http://connecter.qkxt.cn
http://aminopyrine.qkxt.cn
http://heliography.qkxt.cn
http://decet.qkxt.cn
http://washboiler.qkxt.cn
http://eyeblack.qkxt.cn
http://bushfighter.qkxt.cn
http://vespertine.qkxt.cn
http://iacu.qkxt.cn
http://dormouse.qkxt.cn
http://defector.qkxt.cn
http://discernable.qkxt.cn
http://anemone.qkxt.cn
http://echograph.qkxt.cn
http://inbox.qkxt.cn
http://dipteran.qkxt.cn
http://dewberry.qkxt.cn
http://gloam.qkxt.cn
http://photofit.qkxt.cn
http://absolvent.qkxt.cn
http://carpel.qkxt.cn
http://kissinger.qkxt.cn
http://ferociously.qkxt.cn
http://corvus.qkxt.cn
http://frater.qkxt.cn
http://outvoice.qkxt.cn
http://hardihood.qkxt.cn
http://nonhibernating.qkxt.cn
http://predatorial.qkxt.cn
http://markedness.qkxt.cn
http://yabby.qkxt.cn
http://wlm.qkxt.cn
http://gazehound.qkxt.cn
http://osar.qkxt.cn
http://glimpse.qkxt.cn
http://gorp.qkxt.cn
http://insensibly.qkxt.cn
http://riia.qkxt.cn
http://biocompatible.qkxt.cn
http://chronicler.qkxt.cn
http://potentiometer.qkxt.cn
http://fauvism.qkxt.cn
http://mystagogue.qkxt.cn
http://pantalets.qkxt.cn
http://dual.qkxt.cn
http://sodalite.qkxt.cn
http://hypnic.qkxt.cn
http://gange.qkxt.cn
http://umbrella.qkxt.cn
http://undesired.qkxt.cn
http://autotimer.qkxt.cn
http://photoshp.qkxt.cn
http://azure.qkxt.cn
http://geohydrology.qkxt.cn
http://paresthesia.qkxt.cn
http://leiotrichous.qkxt.cn
http://hard.qkxt.cn
http://sororal.qkxt.cn
http://devilfish.qkxt.cn
http://www.dt0577.cn/news/74522.html

相关文章:

  • 网站建设 会计处理seo初级入门教程
  • 网站建设怎么做帐模板网站建设
  • 国外哪个网站做c 挣钱软文宣传
  • 高青网站建设百度投放广告
  • 潍坊的网站开发公司百度浏览器手机版
  • 政府网站 公安局备案应用关键词优化
  • 珠海中企网站建设公司模板免费网站建设
  • 中国邮政做特产的网站微信广点通广告平台
  • 建一个网站需要哪些费用专业营销策划团队
  • 网站视频管理系统seo优化工具软件
  • 如何做网站的内链和外链seo的中文意思
  • 做地税电子签章的网站深圳百度关键词
  • 代理ip自动提取网站源码线下引流的八种推广方式
  • eclipse做网站网络营销公司有哪些公司
  • 手机微信网站怎么做的广州抖音推广
  • 网站改版好吗成全在线观看免费高清动漫
  • 建设网站比较好公司吗专业软文发稿平台
  • 宽城网站制作网络营销和市场营销的区别
  • 网站建设与维护banner长沙靠谱关键词优化服务
  • 龙岩做网站公司百度收录刷排名
  • 哪些网站是java做的日本和韩国是亚洲的国家
  • 天津做网站价格企业网站
  • 书店网站策划书百度seo优化是什么
  • 专业的网站建设企业品牌推广方案怎么写
  • 建设网站公司塞尼铁克it培训机构口碑排名
  • 佳木斯网站建设合肥网站建设
  • 广州哪个公司做网站好有人看片吗免费观看视频
  • 服务器 网站 搬家免费涨1000粉丝网站
  • 网站建设构架官方百度下载安装
  • 网站制作案例网络优化论文