# 为什么在ECS系统内部使用dpdk时，出现了网络中断？
华为云ECS底层支持多种类型网卡，因此，不同云服务器底层的网卡队列深度可能不同。
如果在配置dpdk时设置了固定的队列深度参数值，则可能导致底层网卡队列深度与dpdk配置不一致。在云服务器运行过程中，如果前端dpdk程序没有足够的mbuf来容纳后端填充的报文，会导致网络出现带宽大幅下降，甚至网络中断的情况。
因此，在使用dpdk网络技术时，需要动态获取云服务器底层的网卡队列深度，并基于该队列深度配置dpdk，从而避免云服务器在网卡队列深度发生变化时，出现网络中断。
获取网卡队列深度的示意代码如下：
图1示例代码   
![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002342966313.png "点击放大")
- 软件队列（如rte_ring）：使用rte_ring_get_capacity(ring)获取队列容量。
- 实时可用描述符数量：通过rte_eth_rx_queue_count(port_id, queue_id)获取当前可用的接收描述符数量。
建议查阅DPDK官方文档及网卡驱动手册以确认兼容性。
