91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

dpvs部署

發布時間:2020-07-14 05:02:43 來源:網絡 閱讀:8832 作者:戰狐 欄目:建站服務器

安裝dpdk

官方URL https://github.com/iqiyi/dpvs

dpdk-17.05.2可以兼容dpvs
wget https://fast.dpdk.org/rel/dpdk-17.05.2.tar.xz
tar vxf dpdk-17.05.2.tar.xz

下載dpvs
git clone https://github.com/iqiyi/dpvs.git

給dpdk打補丁,加入kni驅動
cd <path-of-dpvs>
cp patch/dpdk-stable-17.05.2/*.patch dpdk-stable-17.05.2/
cd dpdk-stable-17.05.2/
patch -p 1 < 0001-PATCH-kni-use-netlink-event-for-multicast-driver-par.patch

另一個補丁,uoa模塊
patch -p1 < 0002-net-support-variable-IP-header-len-for-checksum-API.patch

編譯dpdk并安裝
cd dpdk-stable-17.05.2/
make config T=x86_64-native-linuxapp-gcc
make
export RTE_SDK=$PWD

啟動hugepage
服務器是numa系統(centos)
echo 8192 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
echo 8192 > /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages

mkdir /mnt/huge
mount -t hugetlbfs nodev /mnt/huge

注:這個操作是臨時的,如果服務器有別的應用再跑,可能已經占用hugepage了,后面給出另外的方法

安裝uio驅動,并綁定網卡
modprobe uio
cd dpdk-stable-17.05.2
insmod build/kmod/igb_uio.ko
insmod build/kmod/rte_kni.ko

查看網卡狀態 ./usertools/dpdk-devbind.py --status

Network devices using kernel driver

===================================

0000:01:00.0 'I350 Gigabit Network Connection 1521' if=eth0 drv=igb unused=

0000:01:00.1 'I350 Gigabit Network Connection 1521' if=eth2 drv=igb unused=

0000:01:00.2 'I350 Gigabit Network Connection 1521' if=eth3 drv=igb unused=

0000:01:00.3 'I350 Gigabit Network Connection 1521' if=eth4 drv=igb unused=

綁定eth3
./usertools/dpdk-devbind.py -b igb_uio 0000:01:00.2

注:這里綁定的網卡,最好是沒有使用的,因為網卡需要down 掉才能綁

編譯dpvs
cd dpdk-stable-17.05.2/
export RTE_SDK=$PWD
cd <path-of-dpvs>
make

make install

注:安裝的時候 可能有依賴包報錯,提示哪個,yum安裝就可以了

編譯后的文件
ls bin/
dpip dpvs ipvsadm keepalived

啟動dpvs
cp conf/dpvs.conf.single-nic.sample /etc/dpvs.conf
cd <path-of-dpvs>/bin
./dpvs &

查看是否啟動正常
./dpip link show
1: dpdk0: socket 0 mtu 1500 rx-queue 8 tx-queue 8
UP 10000 Mbps full-duplex fixed-nego promisc-off
addr A0:36:9F:9D:61:F4 OF_RX_IP_CSUM OF_TX_IP_CSUM OF_TX_TCP_CSUM OF_TX_UDP_CSUM

以DR模式舉例

官方URL https://github.com/iqiyi/dpvs/blob/master/doc/tutorial.md ,各種lvs模式配置

給dpvs添加lan ip 37,這個步驟必須在添加vip之前

./dpip addr add 192.168.1.37/24 dev dpdk0

給dpvs添加vip 57

./dpip addr add 192.168.1.57/32 dev dpdk0

設置算法為rr,vip為57

./ipvsadm -A -t 192.168.1.57:80 -s rr

添加后端機器11

./ipvsadm -a -t 192.168.1.57:80 -r 192.168.1.11 -g

在11機器執行
ip addr add 192.168.1.11/32 dev lo
sysctl -w net.ipv4.conf.lo.arp_ignore=1

dpvs在啟動的時候,有時候 會報錯,罪魁禍首是內存碎片,app無法申請到足夠多的連續大塊內存,只能申請到很多小塊內存。以至于內存塊數目超過了系統設置的256個。

解決方式 就是申請大頁內存應該在系統啟動時,或系統啟動后盡快申請,避免內存被割裂

https://www.cnblogs.com/cobbliu/p/6603391.html

為了省事 可以加入到kernel參數 /etc/boot/grub2.cfg

default_hugepagesz=1G hugepagesz=1G hugepages=8G

引用別人的結論:
結論:DPDK 再快也是收包到送給應用層的時間短,而不是“轉發”快。收到包后,各類檢查跟查表(一般都是并發環境,加鎖啊什么的,無鎖?……哈哈)處理的時間,基本上都是要遠遠超過 DPDK 的自身開銷的。

想要快過 Linux,要明白為什么 Linux 網絡協議棧會“慢”,這個慢是相比 DPDK 的處理而言的,對大部分應用而言,上層的業務延遲已經沒多大必要在網絡方面下功夫。總之,能否降低路有延遲,要看應用環境(買得起那么多物理機么?有相應的穩定可靠人才支撐么?),然后再做 profiling,看瓶頸在哪里。不要想當然的 DPDK。

舉例來說吧,做 UDP 的 DNS,就可以用 DPDK,繞過 Linux 協議棧提升 QPS. 如果做路由,我覺得拼不過硬件,我是不贊同這種做法的。為了低延遲,沒有包的時候,DPDK 都要讓 CPU 滿載跑著,這時如果想提升吞吐量,延遲也會跟著上去。如果系統里邊是多個干活程序一起跑的,老板窮或者不舍得買好機器,開發運維技能沒跟著上去,DPDK 也會被用殘的。

硬件差不多,網絡 IO+內存類的程序,Linux 跑萬兆是沒問題的。

如果做包轉發,相比 x86 linux 肯定會大大提升性能,其實大部分瓶頸不在 dpdk 處理的網絡這塊

向AI問一下細節
推薦閱讀:
  1. sybase部署
  2. Django部署

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

铅山县| 革吉县| 石台县| 连平县| 房产| 博野县| 洮南市| 河曲县| 榕江县| 绥棱县| 刚察县| 五河县| 晋宁县| 天镇县| 汤阴县| 丽江市| 德令哈市| 永顺县| 柯坪县| 新宾| 壶关县| 莱阳市| 赣州市| 陈巴尔虎旗| 攀枝花市| 牙克石市| 汤原县| 民和| 荥阳市| 合山市| 石首市| 浮山县| 武胜县| 泗水县| 聂荣县| 兰西县| 兴安县| 鄂托克前旗| 泾源县| 通河县| 错那县|