我有一个x.x.x.x IP的云服务器(GoGrid)。 在这个服务器中,我安装了IIS,还有一个MySQL服务器社区版。
在这个服务器中,我有一个连接到数据库的网站。 在我的连接字符串中,我放了:
select()
然后我执行了400次插入; 我花了大约1秒或更短的时间。
然后我将连接字符串更改为
Server:localhost
然后执行需要大约40秒。 当我将localhost更改为自己的机器IP时为什么这么慢?
我测试PING从x.x.x.x到x.x.x.x,我只用了1ms。
服务器连接大约是10mb。
我插入的数据不是很大。它只有10列,只有日期,ID,标签和其他简单类型。
我也在使用asp net mvc 5的实体框架6。
我错过了什么? 谢谢!
答案 0 :(得分:0)
当您将连接字符串更改为云服务器的公共IP地址时,您可能会强制从本地网络适配器到云提供商的内部网络到公共互联网的数据流量,返回内部网络,返回请求源自的本地适配器。
具体来说,我知道AWS会发生这种情况,尽管使用AWS我相信他们分配的公共DNS名称更适合路由。
通过公共互联网路由连接比直接连接到本地盒子上的MySQL要昂贵得多。