可能重复:
绑定MySQL从公共或私有LAN IP地址运行 – 哪个更快
所以我们有2个服务器都运行在同一个Web主机上。 我们绑定MySQL来侦听数据库服务器的公共ip地址,并且web服务器从公共ip连接到它。 两台服务器都运行在同一个专用networking上。
目前,我们的PHP脚本的DB连接方法需要约3ms连接到MySQL数据库服务器主机。
我的问题是,如果我们绑定它来监听数据库服务器上的私有局域网地址,而不是公网IP,Web服务器上的MySql数据交互会更快吗? 或者它是相同的,无论它不会做出不同的。
我已经把这个问题转移到服务器故障绑定MySQL从公共或私人LAN IP地址运行 – 哪一个更快
零差。 认真。 相同的networking(LAN)应该在1ms以下。 最有可能需要MySQL更多的时间来处理一个login,比操作系统分配缓冲区等。
3MS不应该是一个问题,特别是当你的程序员不是一个白痴和使用连接池。
https://stackoverflow.com/questions/830707/php-connection-pooling-mysql
回答一个关于它的问题。 如果你真的打开并closures每个页面上的连接/使用,那么 – 好吧,另一个不太能胜任的progarmmer。 发生。
它仍然需要3ms,这仍然是一个问题(指出你的架构中的其他问题,因为3ms不应该成为一个问题),然后深入的分析是必需的 – 由专家。 因为那么它不像“使用私人或公共IP”那么容易。
在这种情况下,更好的问题是:“我是否愿意为安全考虑而牺牲性能?”。
让您的数据库通过公共IP访问是非常危险的部署,您需要非常好的安全性来确保没有任何问题发生。 如果你有公共知识产权,人们就可以捅捅它; 都出于好奇和潜在的恶意。 您被黑客攻击或以其他方式受到攻击的几率肯定是100%。
在性能方面,我希望你在同一个networking中获得比公网IP更好的性能。 在专用局域网中,您可以更好地控制哪些stream量可能会影响端口与公网IP。
底线:除非你有一个很好的理由,否则把你的数据库放在一个公共IP上是不值得的。
希望这可以帮助!