AWS ALB可以同时保持大约100,000个HTTP / 1.x连接和新近于10,000个HTTP / 2持久连接活动(最多为每个目标组容器的15个持久连接)。也可以选择调整此设置,但是默认设置应该可以处理大多数情况。
可以使用以下代码示例来测试ALB的HTTP / 2并发连接数:
import http.client import time
def test_connection_count(url, target_group_arn): conn = http.client.HTTPConnection(url) conn.putrequest('GET', '/') conn.putheader('Host', url) conn.putheader('Connection', 'keep-alive') conn.putheader('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3') conn.putheader('Accept-Encoding', 'gzip, deflate, sdch') conn.putheader('Accept-Language', 'en-US,en;q=0.8') conn.putheader('Connection', 'Upgrade, HTTP2-Settings') conn.putheader('Upgrade', 'h2c') conn.putheader('HTTP2-Settings', 'AAMAAABkAARAAAAAAAIAAAAA') conn.endheaders()
for i in range(5000):
conn.sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
response = conn.getresponse()
print(response.status)
time.sleep(2)
conn.close()