1
choury 2016 年 11 月 15 日 via Android
理论上是,但是实际上现在 linux 下面 127.0.0.1 也不走 tcp 了,关键是本机跑的话瓶颈真的在网络?
|
2
uxstone 2016 年 11 月 15 日
都 localhost 了,在乎这点速度?
|
3
lhbc 2016 年 11 月 15 日 via iPhone
1. localhost=127.0.0.1
/etc/hosts 127.0.0.1 localhost 2. lo 口已经不走 TCP/IP |
5
panda1001 2016 年 11 月 15 日 via Android
读 hosts 的时间算不算
|
6
jarlyyn 2016 年 11 月 15 日
一般走 localhost 的话是走 socket 套接字,不走 tcp/ip.
|
7
kslr 2016 年 11 月 15 日 via Android
这些公众号真是抄来抄去的。
|
8
ms2008 2016 年 11 月 15 日 是对的,但是仅限使用 MySQL 自己的客户端连接
你如果使用 php 或者其他语言,其实还是要走 tcp 的 http://dev.mysql.com/doc/refman/5.7/en/connecting.html > On Unix, MySQL programs treat the host name localhost specially, in a way that is likely different from what you expect compared to other network-based programs. For connections to localhost, MySQL programs attempt to connect to the local server by using a Unix socket file. This occurs even if a --port or -P option is given to specify a port number. |
9
herozzm 2016 年 11 月 15 日 via Android
/etc/hosts 里面内容怎么解释
|
13
jarlyyn 2016 年 11 月 15 日
@herozzm
这和 hosts 没关系。 mysql 客户端默认用 localhost 的话走套接字。 最典型的是,如果客户端配置不对的话,通过 127.0.0.1 因为是走 3306 端口,可以正常访问,而走 localhost 由于走套接字,接口文件路径错误,会无法连接。 与解析没关系。 |
14
phoenixlzx 2016 年 11 月 15 日 via iPhone
其他客户端走不走 socket 要看实现了吧...
|
15
ms2008 2016 年 11 月 15 日
@JiaFeiX 我说的
其实区别是通过 domain socket 还是走 TCP ,只需要 show processlist; 就能看出来 只要 host 那列是这种格式 localhost:24673 ,后面又端口的,都是 TCP domain socket 的话只会显示 localhost |
16
cnscud 2016 年 11 月 15 日
有意思... 公司穷的只有一台服务器了?
|
17
lslqtz 2016 年 11 月 15 日
有 hosts 时使用当然用 hosts...
mysql 客户端用啥 jarlyyn 说的很清楚了。。 有 hosts php 就根据 hosts 来走咯。。 |
18
xjp 2016 年 11 月 15 日 via iPhone
是的 所以使用 localhost 的时候会忽略端口号 不信你试试 改端口看看 都能连上
|
19
Joway 2016 年 11 月 15 日 靠这种底层细微的优化其实根本无意义, 你优化完了这个, 还有调整内核参数, 调整各种调度算法等等一系列优化呢 , 然而这种东西再怎么优化,上层代码写得差还是全毁了
|
20
eyp82 2016 年 11 月 16 日 做优化的一个大前提, 是先对性能指标进行测量, 找到最该优化的环节.
在这个场景下, 很多时候性能瓶颈在 I/O, 本机即使走 TCP/IP 协议栈, 以 CPU 的速度, 拆包打包的速度甩 I/O 一万条街不止. 所以, 其实是个伪命题... |