Unix Domain Socket 比 localhost(127.0.0.1)更快

当本机的进程间通讯时,使用localhost(127.0.0.1)、本机IP 和 Unix Domain Socket 之间有什么区别以前理解比较模糊,今天看了一篇文章,终于高明白了,就是这篇文章,写的非常好:

(65 封私信) 张彦飞 - 知乎 (zhihu.com) 

简单的总结一下(指进程间通讯):

1、localhost(127.0.0.1)、本机IP 和 Unix Domain Socket 都是不走网卡的,这节省了网卡的IO。

2、localhost(127.0.0.1)和本机IP是一样的,虽然不走网卡,但是都要走内核的 TCP/IP协议栈,这带来一定的CPU开销。

3、Unix Domain Socket 不走内核协议栈,因此效率比 localhost(127.0.0.1)和本机IP都高。

使用socket进程间通讯,有很好的兼容和复用性,本机的socket进程间通讯,最好选用Unix Domain Socket。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/708211.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ERROR-pip-ubuntu】error: can‘t find Rust compiler

这个错误的关键信息是: error: cant find Rust compiler这表示无法找到 Rust 编译器。 针对这个问题,你可以尝试以下解决方法之一: **安装 Rust 编译器:**根据提示,你可以尝试安装 Rust 编译器。你可以从 Rust 官网&…

vscode安装配置

一、通过Code-Server安装 1.1、脚本安装 curl -fsSL https://code-server.dev/install.sh | sh#!/bin/sh set -eu# code-servers automatic install script. # See https://coder.com/docs/code-server/latest/installusage() {arg0"$0"if [ "$0" sh ];…

uniapp+node.js前后端做帖子模块:获取帖子列表(社区管理平台的小程序)

目录 0前提1.一些准备1.1表帖子表 post帖子评论表 postComment帖子点赞表 postLike 1.2总体思路 2.前端3.后端 👍 点赞,你的认可是我创作的动力! ⭐️ 收藏,你的青睐是我努力的方向! ✏️ 评论,你的意见是…

IOC 和 AOP

IOC 所谓的IOC(inversion of control),就是控制反转的意思。何为控制反转? 在传统的程序设计中,应用程序代码通常控制着对象的创建和管理。例如,一个对象需要依赖其他对象,那么它会直接new出来…

LNMP架构搭建

前言 LNMP架构是一种用于搭建Web服务器环境的解决方案,它由Linux、Nginx、MySQL(或MariaDB)、PHP(或Python或Perl)这四个开源软件组成。这种架构通常用于搭建高性能的网站和Web应用程序。 目录 一、编译安装nginx …

MySQL里的两个“二次”

文章中所有图片均来自网络 一、double write 第一个二次是mysql一个崩溃恢复很重要的特性-重复写入。 doublewrite缓冲区是位于系统表空间中的存储区域,在该区域中,InnoDB会在将页面写入数据文件中的适当位置之前,从InnoDB缓冲池中刷新这些页…

服务器常见的问题及解决方案

在面对硬件结构复杂、繁琐的服务器,企业不免会遇到服务器发生异常问题或者是出现系统故障的情况,从而导致重要数据的丢失,给企业造成巨大的损失,那么面对服务器异常,我们应该如何进行解决呢? 1.用户无法访问页面 对于…

React中使用useActive

1.引入 import { useActivate } from "react-activation";2.React Activation 在React中使用react-activation,其实就是类似于Vue中的keep-alive,实现数据的缓存; 源码: import { ReactNode, ReactNodeArray, Context, Component…

vue3+vite+ts配置多个代理并解决报404问题

之前配置接口代理总是报404,明明接口地址是对的但还是报是因数写法不对;用了vue2中的写法 pathRewrite改为rewrite 根路径下创建env文件根据自己需要名命 .env.development文件内容 # just a flag ENVdevelopment# static前缀 VITE_APP_PUBLIC_PREFIX"" # 基础模块…

为高频大功率设计的双面水冷厚膜电阻方案

EAK双面水冷厚膜电阻是一种具有良好散热性能的电阻器,常用于需要高效散热的电子设备中。其包括第一绝缘介质层、厚膜电阻层、第二绝缘介质层以及用于液体流通的金属腔体,第一绝缘介质层设置于金属腔体的上表面;第一绝缘介质层表面设有厚膜电阻…

Vue2:路由组件缓存技术

一、情景说明 我们的页面中 可能同时存在多个路由组件需要切换 有些路由组件中有input等输入框,当输入了内容后,点击其他组件按钮 再次切换回来时,内容被清空了 这样,用户体验就很差 这里,就用到路由组件缓存技术 二…

java常见的应用场景

Java 在软件开发、企业应用、移动应用、游戏开发等领域都有广泛的应用。 软件开发:Java 是一门功能强大的编程语言,可用于开发各种类型的软件,包括网站、桌面应用、嵌入式系统等。 企业应用:Java 是一种广泛用于企业级应用开发的…

nginx反向代理之缓存 客户端IP透传 负载均衡

一 缓存功能 缓存功能可以加速访问,如果没有缓存关闭后端服务器后,图片将无法访问,缓存功能默认关闭,需要开启。 相关选项: ​ proxy_cache zone_name | off; 默认off #指明调用的缓存,或关闭缓存机制;C…

MySql-多表设计-一对一

目录 一对一 一对一 一对一关系表在实际开发中应用起来比较简单,通常是用来做单表的拆分,也就是将一张大表拆分成两张小表,将大表中的一些基础字段放在一张表当中,将其他的字段放在另外一张表当中,以此来提高数据的操…

kali linux通过aircrack-ng命令破解wifi密码

相关阅读:如何破解攻击WiFi 百度安全验证https://baijiahao.baidu.com/s?id1764248756021219497&wfrspider&forpc上面2篇文章写得都很不错 一、前期准备工作 1、将无线网卡挂载到Kali上 ​ 将无线网卡插到电脑上,如果弹出检测到新的USB设备&…

10、电源管理入门之OPP介绍

目录 1. 什么是OPP,怎么用? 2. 系统初始化加载OPP信息 3. 触发使用 4. API介绍 之前的文章设置clock的时候多次提到了(Operating Performance Point)OPP,例如DEVFreq、CPUFreq等,在现代SoC上存在有Power Domain,也可以以Power Domain为单位进行OPP的电压频率定义。 …

成人年龄判断(个人学习笔记黑马学习)

结合前面学习的input输入语句,完成如下案例: 1.通过input语句,获取键盘输入,为变量age赋值。(注意转换成数字类型) 2.通过if判断是否是成年人,满足条件则输出提示信息,如下: 欢迎来到黑马儿童游乐场&#x…

什么是Rust 语言

Rust 是一种专注于性能和内存安全的系统编程语言,其设计目标包括提供:零开销抽象、移动语义、内存安全、线程无数据竞争、类型安全和实时 gc 等功能。Rust 使用 RAII(Resource Acquisition Is Initialization)管理资源&#xff0c…

Window系统安装USB Redirector结合cpolar实现远程访问本地USB设备

文章目录 前言1. 安装下载软件1.1 内网安装使用USB Redirector1.2 下载安装cpolar内网穿透 2. 完成USB Redirector服务端和客户端映射连接3. 设置固定的公网地址 前言 USB Redirector是一款方便易用的USB设备共享服务应用程序,它提供了共享和访问本地或互联网上的U…

图论|207. 课程表 210. 课程表 II

207. 课程表 你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 …