1
choury 2016-11-15 10:23:26 +08:00 via Android
理论上是,但是实际上现在 linux 下面 127.0.0.1 也不走 tcp 了,关键是本机跑的话瓶颈真的在网络?
|
2
uxstone 2016-11-15 10:26:18 +08:00
都 localhost 了,在乎这点速度?
|
3
lhbc 2016-11-15 10:42:02 +08:00 via iPhone
1. localhost=127.0.0.1
/etc/hosts 127.0.0.1 localhost 2. lo 口已经不走 TCP/IP |
4
JiaFeiX OP @choury [现在 linux 下面 127.0.0.1 也不走 tcp ] 请问这个是从哪个版本变更的? 是内核某个版本变更的吗?
|
5
panda1001 2016-11-15 11:33:15 +08:00 via Android
读 hosts 的时间算不算
|
6
jarlyyn 2016-11-15 11:37:15 +08:00
一般走 localhost 的话是走 socket 套接字,不走 tcp/ip.
|
7
kslr 2016-11-15 12:13:06 +08:00 via Android
这些公众号真是抄来抄去的。
|
8
ms2008 2016-11-15 12:14:39 +08:00 4
是对的,但是仅限使用 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 12:16:12 +08:00 via Android
/etc/hosts 里面内容怎么解释
|
12
JiaFeiX OP @ms2008 文档看到了,非常感谢。 on UNIX 情况明了了。 其他语言的客户端,走 TCP ,请问这一句的来源是?
|
13
jarlyyn 2016-11-15 15:00:07 +08:00
@herozzm
这和 hosts 没关系。 mysql 客户端默认用 localhost 的话走套接字。 最典型的是,如果客户端配置不对的话,通过 127.0.0.1 因为是走 3306 端口,可以正常访问,而走 localhost 由于走套接字,接口文件路径错误,会无法连接。 与解析没关系。 |
14
phoenixlzx 2016-11-15 15:20:11 +08:00 via iPhone
其他客户端走不走 socket 要看实现了吧...
|
15
ms2008 2016-11-15 15:23:36 +08:00
@JiaFeiX 我说的
其实区别是通过 domain socket 还是走 TCP ,只需要 show processlist; 就能看出来 只要 host 那列是这种格式 localhost:24673 ,后面又端口的,都是 TCP domain socket 的话只会显示 localhost |
16
cnscud 2016-11-15 17:38:05 +08:00
有意思... 公司穷的只有一台服务器了?
|
17
lslqtz 2016-11-15 18:28:01 +08:00
有 hosts 时使用当然用 hosts...
mysql 客户端用啥 jarlyyn 说的很清楚了。。 有 hosts php 就根据 hosts 来走咯。。 |
18
xjp 2016-11-15 18:36:09 +08:00 via iPhone
是的 所以使用 localhost 的时候会忽略端口号 不信你试试 改端口看看 都能连上
|
19
Joway 2016-11-15 23:59:30 +08:00 1
靠这种底层细微的优化其实根本无意义, 你优化完了这个, 还有调整内核参数, 调整各种调度算法等等一系列优化呢 , 然而这种东西再怎么优化,上层代码写得差还是全毁了
|
20
eyp82 2016-11-16 07:03:31 +08:00 1
做优化的一个大前提, 是先对性能指标进行测量, 找到最该优化的环节.
在这个场景下, 很多时候性能瓶颈在 I/O, 本机即使走 TCP/IP 协议栈, 以 CPU 的速度, 拆包打包的速度甩 I/O 一万条街不止. 所以, 其实是个伪命题... |