xml地图|网站地图|网站标签 [设为首页] [加入收藏]
应用程序池
分类:操作系统

常用通配符:

 

图片 1

 1 #导入IIS管理模块
 2 Import-Module WebAdministration
 3  
 4  
 5 #新建应用程序池 api.dd.com 
 6 New-Item iis:AppPoolsapi.dd.com
 7 Set-ItemProperty iis:AppPoolsapi.dd.com managedRuntimeVersion v4.0 #更改应用程序池版本为4.0,默认为2.0(Windows Server 2008 R2)
 8 #新建站点 api.dd.com,主机头为 api.dd.com,路经为 d:apidd
 9 New-Item iis:Sitesapi.dd.com -bindings @{protocol="http";bindingInformation=":80:api.dd.com"} -physicalPath d:apidd
10 
11 #为站点 api.dd.com 添加主机头 imageapi.dd2.com
12 New-WebBinding -Name "api.dd.com" -IPAddress "*" -Port 80 -HostHeader imageapi.dd2.com
13 
14 #为站点 api.dd.com 更改应用程序池为 api.dd.com
15 Set-ItemProperty IIS:Sitesapi.dd.com -name applicationPool -value api.dd.com
16 
17 #在站点api.dd.com下新建应用程序cust_account_api ,目录为D:cust_account_api_new
18 new-item iis:sitesapi.dd.comcust_account_api -type Application -physicalpath D:cust_account_api_new
19 Set-ItemProperty IIS:Sitesapi.dd.comcust_account_api -name applicationPool -value api.dd.com
20 
21 #在站点ServerLog下新建虚拟目录cust_account_api ,目录为D:cust_account_api_newlog
22 new-item D:cust_account_api_newlog -type directory -force 
23 new-item iis:sitesServerLogcust_account_api -type VirtualDirectory -physicalpath D:cust_account_api_newlog

图片 2

 

New-Website

#新建IISLog站点
New-Website -Name IISLog -Port 11001 -PhysicalPath "D:IISLog"
New-WebVirtualDirectory -Site IISLog -Name APPLog -PhysicalPath D:APPLog
New-WebVirtualDirectory -Site IISLog -Name SystemLog -PhysicalPath  C:WindowsSystem32WinevtLogs

 

更改IIS站点的物理路径:

Set-ItemProperty "iis:sitesDefault Web Site" -Name physicalpath -Value "c:inetpub"

使用appcmd.exe:

New-Alias -name appcmd -value $env:windirsystem32inetsrvappcmd.exe

这样就可以在当前PS环境下直接使用appcmd了

 

get-website

备份/还原单个站点:

1.appcmd add backup 2.remove-website|?{$_.name -ne "sitename"}

 

转自:

linux tcp GSO和TSO实现

——lvyilong316

  *:匹配任意长度任意字符

(注:kernel版本:linux 2.6.32)

   ?:匹配任意一个字符

概念

TSO(TCP Segmentation Offload): 是一种利用网卡来对大数据包进行自动分段,降低CPU负载的技术。 其主要是延迟分段。

GSO(Generic Segmentation Offload): GSO是协议栈是否推迟分段,在发送到网卡之前判断网卡是否支持TSO,如果网卡支持TSO则让网卡分段,否则协议栈分完段再交给驱动。 如果TSO开启,GSO会自动开启。

以下是TSO和GSO的组合关系:

l  GSO开启, TSO开启: 协议栈推迟分段,并直接传递大数据包到网卡,让网卡自动分段

l  GSO开启, TSO关闭: 协议栈推迟分段,在最后发送到网卡前才执行分段

l  GSO关闭, TSO开启: 同GSO开启, TSO开启

l  GSO关闭, TSO关闭: 不推迟分段,在tcp_sendmsg中直接发送MSS大小的数据包

   [list]:匹配list中的任意一个字符

开启GSO/TSO

驱动程序在注册网卡设备的时候默认开启GSO: NETIF_F_GSO

驱动程序会根据网卡硬件是否支持来设置TSO: NETIF_F_TSO

可以通过ethtool -K来开关GSO/TSO

 1 #define NETIF_F_SOFT_FEATURES           (NETIF_F_GSO | NETIF_F_GRO)
 2 
 3 int register_netdevice(struct net_device *dev)
 4 
 5 {
 6 
 7               ...
 8 
 9               /* Transfer changeable features to wanted_features and enable
10 
11                * software offloads (GSO and GRO).
12 
13                */
14 
15               dev->hw_features |= NETIF_F_SOFT_FEATURES;
16 
17               dev->features |= NETIF_F_SOFT_FEATURES;         //默认开启GRO/GSO
18 
19               dev->wanted_features = dev->features & dev->hw_features;
20 
21               ...
22 
23 }
24 
25 static int ixgbe_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
26 
27 {
28 
29               ...
30 
31               netdev->features = NETIF_F_SG |
32 
33                                 NETIF_F_TSO |
34 
35                                 NETIF_F_TSO6 |
36 
37                                 NETIF_F_RXHASH |
38 
39                                 NETIF_F_RXCSUM |
40 
41                                 NETIF_F_HW_CSUM;
42 
43               register_netdev(netdev);
44 
45               ...
46 
47 }

   [!list]:匹配除list中的任意一个字符

是否推迟分段

从上面我们知道GSO/TSO是否开启是保存在dev->features中,而设备和路由关联,当我们查询到路由后就可以把配置保存在sock中。

比如在tcp_v4_connect和tcp_v4_syn_recv_sock都会调用sk_setup_caps来设置GSO/TSO配置。

需要注意的是,只要开启了GSO,即使硬件不支持TSO,也会设置NETIF_F_TSO,使得sk_can_gso(sk)在GSO开启或者TSO开启的时候都返回true

 l  sk_setup_caps

 1 #define NETIF_F_GSO_SOFTWARE            (NETIF_F_TSO | NETIF_F_TSO_ECN | NETIF_F_TSO6)
 2 
 3 #define NETIF_F_TSO                    (SKB_GSO_TCPV4 << NETIF_F_GSO_SHIFT)
 4 
 5 void sk_setup_caps(struct sock *sk, struct dst_entry *dst)
 6 
 7 {
 8 
 9        __sk_dst_set(sk, dst);
10 
11        sk->sk_route_caps = dst->dev->features;
12 
13        if (sk->sk_route_caps & NETIF_F_GSO)   /*GSO默认都会开启*/
14 
15               sk->sk_route_caps |= NETIF_F_GSO_SOFTWARE;  /*打开TSO*/
16 
17        if (sk_can_gso(sk)) {  /*对于tcp这里会成立*/
18 
19               if (dst->header_len) {
20 
21                     sk->sk_route_caps &= ~NETIF_F_GSO_MASK;
22 
23               } else {
24 
25                    sk->sk_route_caps |= NETIF_F_SG | NETIF_F_HW_CSUM;
26 
27                    sk->sk_gso_max_size = dst->dev->gso_max_size;  /*GSO_MAX_SIZE=65536*/
28 
29              }
30  
31      }
32 
33 }

从上面可以看出,如果设备开启了GSO,sock都会将TSO标志打开,但是注意这和硬件是否开启TSO无关,硬件的TSO取决于硬件自身特性的支持。下面看下sk_can_gso的逻辑。

sk_can_gso

1 static inline int sk_can_gso(const struct sock *sk)
2 
3 {
4 
5     /*对于tcp,在tcp_v4_connect中被设置:sk->sk_gso_type = SKB_GSO_TCPV4*/
6 
7     return net_gso_ok(sk->sk_route_caps, sk->sk_gso_type);
8 
9 }

net_gso_ok

1 static inline int net_gso_ok(int features, int gso_type)
2 
3 {
4 
5       int feature = gso_type << NETIF_F_GSO_SHIFT;
6 
7       return (features & feature) == feature;
8 
9 }

由于对于tcp 在sk_setup_caps中sk->sk_route_caps也被设置有SKB_GSO_TCPV4,所以整个sk_can_gso成立。

本文由澳门新葡亰手机版发布于操作系统,转载请注明出处:应用程序池

上一篇:没有了 下一篇:没有了
猜你喜欢
热门排行
精彩图文