domain-name-system – AWS EC2 dns解析诊断

前端之家收集整理的这篇文章主要介绍了domain-name-system – AWS EC2 dns解析诊断前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用安装了amazon linux的EC2实例(使用来自DHCP的amazon dns服务器设置)以及RDS数据库. EC2实例落后于ELB并获得高流量.我使用的应用程序是用 PHP编写的.

问题是当PHP尝试连接到RDS数据库时,有时会返回以下错误

  1. PHP Warning: MysqLi_connect(): (HY000/2005): Unknown MysqL server host ...

它不会发生很多,但有时它会变得更糟;我收到了这条消息的数以千计的错误事件.

诊断问题有什么建议吗?我正在考虑将所有DNS流量转储到文件并进行检查,但服务器的流量非常高,因此很难从该文件中进行跟踪.

  1. Ip:
  2. 197171459 total packets received
  3. 1 with invalid addresses
  4. 0 forwarded
  5. 0 incoming packets discarded
  6. 197171458 incoming packets delivered
  7. 175015443 requests sent out
  8. Icmp:
  9. 12528 ICMP messages received
  10. 0 input ICMP message Failed.
  11. ICMP input histogram:
  12. destination unreachable: 188
  13. echo requests: 12340
  14. 12559 ICMP messages sent
  15. 0 ICMP messages Failed
  16. ICMP output histogram:
  17. destination unreachable: 219
  18. echo replies: 12340
  19. IcmpMsg:
  20. InType3: 188
  21. InType8: 12340
  22. OutType0: 12340
  23. OutType3: 219
  24. Tcp:
  25. 5231380 active connections openings
  26. 3978862 passive connection openings
  27. 881 Failed connection attempts
  28. 6420 connection resets received
  29. 17 connections established
  30. 191630575 segments received
  31. 200105352 segments send out
  32. 2797151 segments retransmited
  33. 0 bad segments received.
  34. 6910 resets sent
  35. Udp:
  36. 5577451 packets received
  37. 219 packets to unknown port received.
  38. 0 packet receive errors
  39. 5577700 packets sent
  40. UdpLite:
  41. TcpExt:
  42. 172 invalid SYN cookies received
  43. 808 resets received for embryonic SYN_RECV sockets
  44. 7176788 TCP sockets finished time wait in fast timer
  45. 507 packets rejects in established connections because of timestamp
  46. 448055 delayed acks sent
  47. 2927 delayed acks further delayed because of locked socket
  48. Quick ack mode was activated 2433 times
  49. 94865861 packets directly queued to recvmsg prequeue.
  50. 16611185 packets directly received from backlog
  51. 54150864749 packets directly received from prequeue
  52. 2158966 packets header predicted
  53. 79141174 packets header predicted and directly queued to user
  54. 40780030 acknowledgments not containing data received
  55. 56946553 predicted acknowledgments
  56. 84 times recovered from packet loss due to SACK data
  57. Detected reordering 4 times using FACK
  58. Detected reordering 11 times using SACK
  59. Detected reordering 69 times using time stamp
  60. 70 congestion windows fully recovered
  61. 1241 congestion windows partially recovered using Hoe heuristic
  62. TCPDSACKUndo: 13
  63. 2491 congestion windows recovered after partial ack
  64. 0 TCP data loss events
  65. 220 timeouts after SACK recovery
  66. 104 fast retransmits
  67. 99 forward retransmits
  68. 7 retransmits in slow start
  69. 2792531 other TCP timeouts
  70. 22 times receiver scheduled too late for direct processing
  71. 2423 DSACKs sent for old packets
  72. 2785871 DSACKs received
  73. 5162 connections reset due to unexpected data
  74. 921 connections reset due to early user close
  75. 135 connections aborted due to timeout
  76. TCPDSACKIgnoredOld: 533
  77. TCPDSACKIgnoredNoUndo: 393
  78. TCPSackShifted: 477
  79. TCPSackMerged: 536
  80. TCPSackShiftFallback: 2709
  81. TCPBacklogDrop: 46
  82. TCPDeferAcceptDrop: 3906058
  83. IpExt:
  84. InOctets: 69400712361
  85. OutOctets: 94841399143

解决方法

有一个已知的AWS错误会导致DNS解析偶尔失败:

https://forums.aws.amazon.com/thread.jspa?messageID=330465#330465

您可能希望使用持久连接进行测试,因为这会降低执行DNS解析的频率.

本地DNS缓存(例如pdns-recursor或@L_502_4@)将降低频率,但RDS主机名记录具有非常短(60秒)的TTL,因此这意味着问题发生的频率低得多,但仍然每天发生几次.

猜你在找的HTML相关文章