InfraPub 为您找到相关结果 373

Go1.16 新特性:一文快速上手 Go embed

在以前,很多从其他语言转过来 Go 语言的同学会问到,或是踩到一个坑。就是以为 Go 语言所打包的二进制文件中会包含配置文件的联同编译和打包。 结果往往一把二进制文件挪来挪去,就无法把应用程序运行起来了。因为无法到静态文件的资源。 无法将静态资源编译打包进二进制文件的话,通常会有两种解决方法: 第一种是识别这类静态资源,是否需要跟着程序走。第二种就是考虑将其打包进二进制文件中。 第二种情况的话,Go 以前是不支持的,大家就会去借助各种花式的开源库,例如:go-bindata/go-bindata 来实现。 但从在 Go1.16 起,Go 语言自身正式支持了该项特性,今天我们将通过这篇文章快速了解和学习这项特性。 基本使用 演示代码: import _ "embed...阅读全文

博文 2021-02-17 08:44:12 CSDN

SK海力士进军PCIe 4.0 SSD:密度世界第一 轻松32TB

SK海力士今天正式发布了最新款的企业级SSD PE8000系列,包括PE8010、PE8030、PE8111三款型号,这也是其首款PCIe 4.0 SSD,无论存储密度、容量还是性能都是世界一流的,甚至是超一流的。 PE8010、PE8030都配备了SK海力士自产的96层堆叠4D TLC NAND闪存颗粒,搭配自研主控,最大容量8TB,兼容U.2、U.3接口,其中PE8010面向密集型应用,PE8030则为写混合应用而优化。 性能方面,持续写速度最高均可达8.3GB/s、3.7GB/s,随机写速度最高则可达1100K IOPS、320K IOPS。 相比于去年的上代产品,持续性能提升103%,随机写入性能提升357%,另外最大功耗为17W。 PE8111则是针对密集型负载...阅读全文

博文 2020-04-08 09:31:41 debian.cn

谷歌安全博客披露“ 英特尔内核漏洞 ”更多细节

去年的时候,Google 旗下 Project Zero 团队发现了一个由 CPU “ 预测执行 ” 导致的严重安全漏洞,而它也是一项被大多数现代处理器使用的性能优化方案。根据研究人员 Jann Horn 的演示,恶意攻击者可借此不该被它访问到的系统内存。某个未经授权的一方,可能在系统内存中到一些敏感信息,比如密码、加密密钥、或者在应用程序中打开的其它机密信息。 测试还表明,在一台虚拟机上发起的攻击,甚至能够访问到主机的物理内存。基于此,还可以获在同一主机上、不同虚拟机的内存访问。 该漏洞影响许多 CPU,包括来自英特尔、AMD、ARM 的芯片,以及搭配运行的设备和操作系统。在获悉这种新型攻击的第一时间,谷歌安全和产品开发团队就积极动员了起来,以保护自家系统和用户数据。 万幸...阅读全文

博文 2018-01-06 23:38:25 debian.cn

Golang channel 通道常见使用场景

(intChan) //写完后关闭管道 } func ReadData(intChan chan int,exitChan chan bool) { for{ v,ok:=<-intChan if !ok{ fmt.Println("完毕") break } fmt.Println(":",v) } //设置全局标志 告诉main 完毕了 main主线程可以关闭了 exitChan<-true close(exitChan) } func main() { intChan :=make(chan int,50) exitChan:=make(chan bool,1) go WriteData(intChan) go ReadData(intChan,exitChan) //阻塞主线程 for...阅读全文

博文 2021-01-24 21:22:22 debian.cn

Linux内存buffer和cache的区别

在Linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存的程序已经被关闭了,该程序所占用的内存用来做缓存使用,对于开启过的程序、或是刚存过得数据会比较快。 一. 内存使用说明 Free 命令相对于top 提供了更简洁的查看系统内存使用情况: [root@debian ~]$ free total used free shared buffers cached Mem: 1035108 1008984 26124 0 124212 413000 -/+ buffers/cache: 471772 563336 Swap: 2096472 842320 1254152 这里显示的单位是KB。 在Linux的内存分配机制中,优先使用物...阅读全文

海盗船发布1.6TB NVMe SSD新品:采用PCIe 3.0 x4接口

海盗船(Corsair)刚刚为 Neutron NX 500 系列固态硬盘驱动器添加了 1.6TB 的新版本,其售价为 1575 美元(约 10389 RMB),折合每 GB 容量 0.98 美元。 在 ATTO 基准测试中,其持续 / 写性能分别达到了 3000MB/s 和 2800MB/s;换用 CrystalDiskMark 的话,则是 2800MB/s()和 1600MB/s(写入)。随机 / 写性能上,1.6TB 版本分别可达 300k 和 270k IOPS 。 不过与外媒在今年早些时候评测过的 400GB 版本相比,1.6TB 版本 NX500 NVMe SSD 的性价比反而并不高。如果官方的写数据是可以相信的,那 1.6TB 版本的售价未免也太高了。 作为对比,三...阅读全文

新加坡华侨银行(OCBC) 零门槛开户 使用APP在家即可申请

者自己手机自带的商店。2. 进入开户流程准备好所需材料,开始进入开户流程。1 打开APP 选择简体中文。如果没有弹出,可以点击右上角来选择语言。然后,点击 【注册成为新客户】​2 选择第二项 【持电子护照的外国人】,然后点击【开始申请】​输入介绍人代码 【 IRVU37JB 】,可以获得 15 新币,大约80元人民币的奖励。不写的话没有任何奖励。​3 国家代码点进去选择中国大陆 +86,手机号和邮箱输入自己的即可。然后,接收验证码并填写。​4 点击下一步,扫描护照条形码。这一步,把护照打开到有人像的那一页,然后在光线充足的地方使用手机扫描。 需要一些耐心,扫描可能不会很快,手拿稳多试试即可。​5 NFC 护照芯片。护照合上,手机背面贴在护照正面上,开始。缓缓移动手机,调整到可以的...阅读全文

Debian 使用VSFtpd安装配置架设FTP服务器

web目录) 然后创建用户 useradd -G clin003-com -d /tmp/clin003 -M user1 注:G:用户所在的组 d:指定创建用户的自己目录 M:不建立默认的自家目录,就是在/home下没有自己的目录 我只是为了给自己的web server做文件传输服务,所以做了一个帐户. useradd -G ftp -d /var/www -M clin003-admin 接着改变文件夹属于的组和用户 chown clin003-admin.clin003-com /var/www 把/var/www改变属主为clin003-admin chmod 711 /var/www 我这设置的权限是711.也就是文件夹所有者完全权限,同组也就是上面的FTP组和所有人都是可执行权限...阅读全文

博文 2021-01-28 17:50:09 debian.cn

如何使用 journalctl 清理 journal 日志

下面的逻辑来覆盖默认设置: 主配置文件最先被, 优先级也最低。 所有 *.conf.d/ 中的配置文件 都会覆盖主配置文件中的设置。 所有 *.conf.d/ 中的配置文件(无论位于哪个目录中), 统一按照文件名的字典顺序处理。 当多个配置文件都设置了同一个选项的时候: (1)如果该选项仅接受一个单一值,那么仅以文件名最靠后(字典顺序)的那一个为准; (2)如果该选项可接受一个值列表,那么将会按照文件名的字典顺序将所有值列表拼接起来。 为了便于排序, 建议给所有 *.conf.d/ 中的配置文件 都加上两位十进制数字的文件名前缀。 如果系统管理员想要屏蔽 /usr/lib/ 目录中的某个配置文件, 那么最佳做法是在 /etc/ 目录中 创建一个指向 /dev/null 的同名符号链接...阅读全文

博文 2021-02-05 15:43:28 博客园

使用 setfacl 管理文件的访问控制列表ACL

group::rwx //同组用户权限 other::rwx //其它者权限 可以看到其它者的权限也是可可写可执行,可以自行测试。现在我们修改其ACL策略,使用户 code 只有的权限 [root@ debian.cn ~]# setfacl -m u:code:r /opt/test [root@ debian.cn ~]# ls -l /opt/test -rwxrwxrwx+ 1 root root 1 Apr 11 07:25 /opt/test //可以看到权限的最后多了一个 "+" 号 现在再次查看一下此文件的ACL属性: [root@ debian.cn ~]# getfacl /opt/test getfacl: Removing leading '/' from...阅读全文

Vinux 5.1 发布 基于 Ubuntu 的 Linux 发行版

Vinux 5.1 发布了。Vinux 是演化自 Ubuntu 的发行,面向盲人及弱视用户的需求作了优化。Vinux 缺省提供两份屏幕阅器,以及对布莱叶文的显示支持和友好的用户社区。当从这份自启动运行镜像引导时,迎接用户的将是 Orca 阅器,它让用户能通过键盘命令来浏览图形化的 GNOME 桌面。此外,Brltty 还通过 Orca 提供级别 1 和级别 2 的布莱叶文输出。 Vinux 提供屏幕阅器,盲文支持和高对比度图标。 该项目的最新版本 Vinux 5.1,基于 Ubuntu 14.04.5 LTS,并提供三个桌面环境:Unity 7.2.4,GNOME 3.10.4 和 MATE 1.8。这次发布的版本不仅仅是关于 Unity 桌面的特性,还有 GNOME Shell 和...阅读全文

博文 2021-01-28 17:50:20 debian.cn

linux下查看系统socket读写缓冲区_eyucham的专栏

(int argc,char **argv) { int err = -1; /* 返回值 */ int s = -1; /* socket描述符 */ int snd_size = 0; /* 发送缓冲区大小 */ int rcv_size = 0; /* 接收缓冲区大小 */ socklen_t optlen; /* 选项值长度 */ /* * 建立一个TCP套接字 */ s = socket(PF_INET,SOCK_STREAM,0); if( s == -1){ printf("建立套接字错误\n"); return -1; } /* * 先缓冲区设置的情况 * 获得原始发送缓冲区大小 */ optlen = sizeof(snd_size); err = getsockopt(s...阅读全文

博文 2021-01-26 16:21:35 CSDN博客

bmon:一个强大的网络带宽监视和调试工具

bmon 是类 Unix 系统中一个基于文本,简单但非常强大的 网络监视和调试工具,它能抓网络相关统计信息并把它们以用户友好的格式展现出来。它是一个可靠高效的带宽监视和网速估测工具。 它能使用各种输入模块输入,并以各种输出模式显示输出,包括交互式文本用户界面和用于脚本编写的可编程文本输出。 在 Linux 上安装 bmon 带宽监视工具 几乎所有 Linux 发行版的默认仓库中都有 bmon 软件包,可以从默认包管理器中轻松安装,但可用的版本可能比较旧。 $ sudo yum install bmon [On RHEL/CentOS/Fedora] $ sudo dnf install bmon [On Fedora 22+] $ sudo apt-get install bmon...阅读全文

博文 2021-01-28 17:50:27 debian.cn

Hadoop 核心 - HDFS 分布式文件系统详解

中的URI作为参数,创建目录。使用-p参数可以递归创建目录 put 格式 : hdfs dfs -put ... 作用 : 将单个的源文件src或者多个源文件srcs从本地文件系统拷贝到目标文件系统中(对应的路径)。也可以从标准输入中输入,写入目标文件系统中 hdfs dfs -put /rooot/bigdata.txt /dir1 moveFromLocal 格式: hdfs dfs -moveFromLocal 作用: 和put命令类似,但是源文件localsrc拷贝之后自身被删除 hdfs dfs -moveFromLocal /root/bigdata.txt / copyFromLocal 格...阅读全文

海力士推新企业级SSD:72层闪存 16TB即将到来

SK海力士日前宣布推出新一代企业级SSD硬盘,不过官方并没有公布SSD硬盘的名称,只知道是NVMe标准的,基于72层堆栈的3D TLC闪存,M.2版容量最大4TB,U.2容量可达8TB。 性能方面,SK海力士表示新一代企业级硬盘的连续速度可达3200MB/s,随机性能可达160K IOPS,与2018年FMS展会上推出的72层堆栈闪存硬盘相比,新一代企业级SSD的顺序写性能提升30%,随机写入提升了70%,同时支持敏感型及混合型应用,包括数据中心、AI、ML机器学习及VDI虚拟桌面架构等。 值得一提的是,SK海力士的新一代企业级SSD具备极低的功耗,正常应用低于14W,这在企业级SSD中是很低的水平了。 此外,SK海力士还表示将在今年底推出容量更大的企业级SSD硬盘,闪存会从目前的...阅读全文

博文 2019-06-20 20:27:53 debian.cn

Apollo 配置中心简单介绍

的权限、流程治理等特性。 Apollo支持4个维度管理Key-Value格式的配置: application (应用)environment (环境)cluster (集群)namespace (命名空间) 同时,Apollo基于开源模式开发,开源地址:https://github.com/ctripcorp/apollo 1.3 配置基本概念 既然Apollo定位于配置中心,那么在这里有必要先简单介绍一下什么是配置。 按照我们的理解,配置有以下几个属性: 配置是独立于程序的只变量 配置首先是独立于程序的,同一份程序在不同的配置下会有不同的行为。其次,配置对于程序是只的,程序通过配置来改变自己的行为,但是程序不应该去改变配置。常见的配置有:DB Connection Str...阅读全文

博文 2021-04-09 17:53:51 CSDN

SK Hynix量产首个4D NAND闪存:96层堆栈 速度提升30%

随着64层堆栈3D NAND闪存的大规模量产,全球6大NAND闪存厂商今年都开始转向96层堆栈的新一代3D NAND,几家厂商的技术方案也不太一样,SK Hynix给他们的新闪存起了个4D NAND闪存的名字。 在今年的FMS国际闪存会议上正式宣告了业界首个基于CTF技术的4D NAND闪存,日前他们又宣布4D NAND闪存正式量产,目前主要是TLC类型,96层堆栈,512Gb核心容量,使用该技术可以减少30%的核心面积,、写入速度分别提升30%、25%。 根据SK Hynix之前公布的信息,所谓的4D NAND闪存其实也是3D NAND,它是把NAND闪存Cell单元的PUC(Peri Under Cell)电路从之前的位置挪到了底部,所以叫了4D NAND闪存,本质上其实还是3D...阅读全文

博文 2018-11-05 23:47:54 debian.cn

Linux Lite 宣布使用基于 Linux Kernel 4.14 的内核

系统菜单中的 Lite Tweaksv 工具,选择“Kernel Installer”功能来安装更新,同样在安装完成之后需要重启你的电脑。 Linux Kernel 4.14 LTS 的主要功能就是为 x86 硬件部署了更大的存储限制,虚拟地址空间提升至 128PiB,物理硬件空间提升至 4PiB。此外还引入了全新的 ORC unwinder 来改进内核追踪和内核尺寸。 Linux Kernel 4.14 LTS 同时为 Btrfs 和 SquashFS 文件系统引入了 zstd 压缩,能够从用户存储到 sockets 实现 zero-copy 数据,改进 SMP 的 cpufreq 协调,同步 non-blocking buffered ,以及对 PCID 指令更快的 TBL 刷新。...阅读全文

深入理解Golang之context

: fmt.Printf("send message: %d\n", <-messages) } } }(ctx) defer close(messages) defer cancel() select { case <-ctx.Done(): time.Sleep(1 * time.Second) fmt.Println("main process exit!") } } 这个例子中,只要让子线程监听主线程传入的ctx,一旦ctx.Done()返回空channel,子线程即可消执行任务。但这个例子还无法展现context的传递消信息的强大优势。阅过net/http包源码的朋友可能注意到在实现http server时就用到了context, 下面简单分析一下。1、首先Server在开启服务时会创建一个...阅读全文

博文 2021-01-27 09:05:27 知乎

490MB/s 金士顿新款外置SSD发布:最高960GB

随着互联网的高速发展,云存储技术已经相当成熟了,网盘成了人们工作和学习中不可缺少的部分。尽管如此,离线存储技术也无法被代,毕竟在没有网络的情况下,离线存储才是最佳的解决方案。 而目前使用的最多的且最方便的离线存储设备就是U盘,凭借小巧便携的体型设计赢得了广大用户的喜爱,但随着数据的日益膨胀,小小的U盘无论是在写速度还是在容量上已经无法满足我们日益增长的存储需求。 而今天,金士顿在CES大会上展示了一款离线存储设备——HyperX Savage EXO外置SSD。HyperX Savage EXO外置SSD外壳采用聚碳酸酯打造,存储颗粒为3D TLC NAND闪存,拥有480GB和960GB两种容量可供选择。 外置SSD的接口为USB3.1 Gen 2,带宽高达10Gbps,实际连续写...阅读全文

博文 2018-01-08 20:54:57 debian.cn

Linux 中使用 Fio 测评硬盘性能

随机测试,我们将会尝试一个随机的 2GB 文件。 sudo fio --name=randread --ioengine=libaio --iodepth=16 --rw=randread --bs=4k --direct=0 --size=512M --numjobs=4 --runtime=240 --group_reporting 最后,我们想要展示一个简单的随机-写测试来看一看 Fio 返回的输出类型。 写性能测试 下述命令将会测试 USB Pen 驱动器 (/dev/sdc1) 的随机写性能: sudo fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test...阅读全文

博文 2018-08-15 19:18:24 debian.cn

三星860 PRO固态盘现身官网:4TB SATA 3售1.2万元

三星的850EVO/PRO以及不带后缀的850固态盘(120GB国行399元)已经发布开卖相当长一段时间了,新品的迹象迟迟看不到。今日有网友从三星北美官网发现了860 PRO已经正式出现。 页面显示,4TB的起售价是1899.99美元(约合1.22万元),型号MZ-76P4T0E。性能方面,连续最高560MB/s、连续写入最高530MB/s,妥妥的SATA3。 目前,三星850 EVO在国内提供有4TB的选项,也是SATA3,价格是11399元。此前,860 EVO曾现身串行设备组织官网,显示容量从256GB到4TB。 闪存方面,外媒TMHW此前从线人那里得知,860 EVO将是三星的第一代消费级QLC闪存固态盘,也就是4bits/Cell,而PRO可能还是3D TLC。 简单一提,一...阅读全文

博文 2018-01-17 23:33:28 debian.cn

提问的智慧(精简版)

骤,以及机器和软件的反应,直到问题发生。在命令行处理的情况下,提供一段操作记录(例如运行脚本工具所生成的),并引用相关的若干行(如 20 行)记录会非常有帮助。如果程序有诊断选项(如 -v --verbose --debug LOG_LEVEL=DEBUG 的详情指令),试着选择这些能在记录中增加调试信息的选项。记住,多不等于好。试着选适当的调试级别以便提供有用的信息而不是让者淹没在垃圾中。如果你的说明很长,在开头简述问题,接下来再按时间顺序详述会有所帮助。描述目标而不是过程如果你想弄清楚如何做某事(而不是报告一个 Bug),在开头就描述你的目标,然后才陈述重现你所卡住的特定步骤。😒 BAD | 我怎样才能从某绘图程序的颜色选择器中得十六进制的 RGB 值?😊 GOOD| 我正试着...阅读全文

博文 2023-10-07 15:02:42 infras

Linux 5.2.1 发布 最新的稳定版内核

BFQ I / O调度程序的性能改进。 Linux Kernel 5.2还为cgroups v2添加了一个冷冻控制器以释放资源,部署了新设备隐射“dust”目标来模拟失败或者扇区失败的设备,为 clone(2)添加了CLONE_PIDFD这个Flag从而在创建进程时候获PID,能够通过pidfd_send_signal(2)使用,并在Android系统中提供了更高的资源监控。 在安全方面,Linux Kernel 5.2附带了一个全新的CPU BUG框架,用于保护设备免受英特尔MDS(微架构数据采样)硬件漏洞的影响,同时还有一个名为“mitigations=”独立于架构的启动选项,以便更容易启用或禁用缓解CPU缺陷。 Linux内核5.2还包括许多更新的和新的驱动程序,以获得更好的硬件支持...阅读全文

博文 2019-07-15 10:24:57 debian.cn

Debian 将支持从 F2FS 根文件系统进行系统引导

不少用户希望通过将 Flash-Friendly File-System (F2FS) 作为根文件系统来启动和运行 Debian,现在这个目标将有望达成了。尽管 F2FS 早已问世,并且得到了越来越多的采用,尤其是在 Android 移动设备上,但默认情况下,大多数 Linux 发行版都不允许默认从 F2FS 文件系统进行引导。 不过事情现在迎来了转机,GRUB 2.04 在其 2019 年中期发布的版本中提供了 F2FS 支持。 更新后的 GRUB 能够支持 F2FS 根文件系统,而且这种支持也一直在向 Linux 发行版中扩散,当然还需要启用相关模块(F2FS 模块)才能使用。对于 Debian 而言,他们本周最终将 F2FS 模块添加到了已签名的 UEFI 映像中。 从 F2FS...阅读全文

博文 2020-01-13 13:36:55 debian.cn

Apollo 分布式配置中心详解

于配置中心,那么在这里有必要先简单介绍一下什么是配置。配置有以下几个属性。 配置是独立于程序的只变量 配置首先是独立于程序的,同一份程序在不同的配置下会有不同的行为。其次,配置对于程序是只的,程序通过配置来改变自己的行为,但是程序不应该去改变配置。 常见的配置有:DB Connection Str、Thread Pool Size、Buffer Size、Request Timeout、Feature Switch、Server Urls 等。 配置伴随应用的整个生命周期 配置贯穿于应用的整个生命周期,应用在启动时通过配置来初始化,在运行时根据配置调整行为。 配置可以有多种加载方式 配置也有很多种加载方式,常见的有程序内部 hard code,配置文件,环境变量,启动参数,基于数...阅读全文

博文 2020-04-12 12:16:26 debian.cn

我要彻底放弃 Debian 操作系统!-Michael Stapelberg

,包括大型软件工程项目的工作原理,而且我也明白自己多么地喜欢我的计算机系统。我非常清楚这些日子以来的闲暇时间我是如何度过的。 我会在以下各小节中逐一介绍我所面临的主要困难,讨论顺序不分先后。其中有些困难有一些相互影响——例如,如果改动后的效果更好,那么我们就有机会将包转换成更方便的机器。 Debian的变更流程 最近几年,我目前的团队在整个代码库中进行了各种大大小小的重构(涉及数千个项目),因此在关于如何有效地进行这些变更方面,我们学到了很多宝贵的经验。令我苦恼的是,Debian在各方面的工作方式几乎完全相反。我理解每个组织都不同,但我认为我的很多观点确实适用于Debian。 在Debian中,包的推送必须严格遵守一个文档——叫做Debian策略,还有个程序lintian用来保证该策略的实...阅读全文

博文 2019-03-22 17:01:23 Michael Stapelberg

influxdb内存消耗分析及性能优化【探索篇】

influxdb中数据库名 use iot_cloud #修改保留策略为周期为3天,每2小时一分片 alter retention policy rp_iot_cloud on iot_cloud duration 3d REPLICATION 1 SHARD DURATION 2h default调整为2小时一分片之后,SHR内存峰值会减少10-15g左右的占用。但是缩短分片间隔之后,influxdb会更频繁的进行内部自检及数据压缩,会造成cpu及磁盘io的消耗。所以继续考虑SHR占用较大对系统会有什么影响?应用程序在启动之后,会共享系统一些内存:堆内存(共享函数库消耗的堆空间)文件缓存(从磁盘文件进行缓存)对于共享堆内存则是必须占用的物理空间,而文件缓存则是系统针对磁盘的优化。目前...阅读全文

博文 2021-10-27 16:06:30 知乎

Git 2.26 发布:传输协议 V2 成默认协议

name-rev 功能。其他各种性能改进。 Bug 修复 Windows 的 Git 现在可以克隆到当前用户可以写入的目录中,即使他们甚至没有权限父目录。通过 Git GUI 要求输入密码时,现在可以正确处理非 ASCII 字符。git update-git-for-windows -y 现在可以完全自动化 更多详细信息可参见发布公告。...阅读全文

博文 2020-03-24 10:35:05 debian.cn

单核心 IOPS 突破 1000 万,Linux 5.16 有望大幅提升 I/O 性能

,可以视为是每秒的写次数。与其他性能测试一様,IOPS 仅代表理想环境下的性能指标,不保证实际应用下也能达到同等情况。IOPS 的数值会随系统组态而有很大的不同,依测试者在测试时的控制变量而异,控制变量包括及写入的比例、线程数量以及资料区块的大小等。​从 Jens Axboe 在社交媒体上分享的截图可以看到,他用最新的 Linux 内核补丁在一个物理 CPU 核心上实现了 1000 万 IOPS。此次测试的设备仍然与他此前实现 890 万 IOPS 时所使用的设备保持一致 —— 采用了一个 AMD Ryzen 9 5950X CPU 和英特尔 P5800X Gen2 傲腾 SSD。为了实现这些的性能提升,Jens Axboe 主要是在内核的 block / NVMe / IO_uring...阅读全文

博文 2021-10-27 10:32:50 joseph

Golang后端面试题目

技术一面 基础面试 一面是通过电话直接沟通。 go的调度go struct能不能比较go defer(for defer)select可以用于什么context包的用途client如何实现长连接主协程如何等其余协程完再操作slice,len,cap,共享,扩容map如何顺序实现set实现消息队列(多生产者,多消费者)大文件排序基本排序,哪些是稳定的http get跟headhttp 401,403http keep-alivehttp能不能一次连接多次请求,不等后端返回tcp与udp区别,udp优点,适用场景time-wait的作用数据库如何建索引孤儿进程,僵尸进程死锁条件,如何避免linux命令,查看端口占用,cpu负载,内存占用,如何发送信号给一个进程git文件版本,使用顺序...阅读全文

博文 2020-04-13 13:13:00 2020腾讯社招

Dubbo 2.7.0发布 分布式RPC服务框架

中心解耦,增加对 Apollo 等第三方专业配置中心的支持,更易于扩展新增应用级别的动态配置规则规则体使用更易、易用 YAML 格式外部化配置。支持托管在远程的集中式配置中心的 dubbo.properties,实现应用配置的集中式管控。更精炼的注册中心 URL,进一步减轻注册中心存储和同步压力,初步实现地址和配置的职责分离。新增服务元数据中心,负责存储包括服务静态化配置、服务定义(如方法签名)等数据,默认提供 Zookeeper, Redis 支持。此功能也是 OPS 实现服务测试、Mock 等治理能力的基础。异步编程模式增强(限定于 Dubbo 协议)原生 CompletableFuture 签名接口支持服务端异步支持异步 Filter 链新增 Protobuf 序列化协议扩展新增...阅读全文

博文 2019-01-18 09:43:16 debian.cn

高性能日志采集工具 logpipe 简单介绍

性的,这很关键。 logpipe 概念朴实、使用方便、配置简练,没有如 sink 等一大堆新名词。 logpipe 由若干个 input、事件总线和若干个 output 组成。启动 logpipe 管理进程 (monitor),派生一个工作进程 (worker),监控工作进程崩溃则重启工作进程。工作进程装载配置加载若干个 input 插件和若干个 output 插件,进入事件循环,任一 input 插件产生消息后输出给所有 output 插件。 logpipe 自带了几个插件,分别是: logpipe-input-file 用 inotify 异步实时监控日志目录,一旦有文件新建或文件增长事件发生(注意:不是周期性轮询文件修改时间和大小),立即捕获文件名和文件追加数据。该插件拥有文件大小...阅读全文

Elastic search 6.0.0 正式发布 大量新特性

Elasticsearch 群集搜索 和以前一样,Elasticsearch 6.0 能够在 5.x 中创建的 Indices ,但不能在 2.x 中创建的 Indices 。不同的是,现在不必重新索引所有的旧 Indices ,你可以选择将其保留在 5.x 群集中,并使用跨群集搜索同时在 6.x 和 5.x 群集上进行搜索。 迁移助手 Kibana X-Pack 插件提供了一个简单的用户界面,可帮助重新索引旧 Indices ,以及将 Kibana、Security 和 Watcher 索引升级到 6.0 。 群集检查助手 在现有群集上运行一系列检查,以帮助在升级之前更正任何问题。 你还应该查阅弃用日志,以确保您没有使用 6.0 版中已删除的功能。 使用序列号更快地重启和还原 6.0 版本中最大的一个新特...阅读全文

博文 2017-11-15 18:11:10 debian.cn

网易云音乐Linux版v1.1发布 支持 Debian Stretch

时隔近一年半的时间,网易云音乐 Linux 版本终于迎来了更新,本次更新除了迁移到QCEF框架,对GNOME、KDE桌面环境支持更好,支持最新 Debian 9、Ubuntu 17.10版本(仅64位),还优化和修复各个社区用户反馈的问题。 具体的细节优化如下: 迁移全新的QCEF框架; 使用了全新的播放器后端; 支持打开更多格式的本地文件; 优化播放时内存占用资源问题; 优化扫描本地音乐目录,支持下载任务的状态; 优化第三方字体的支持; 优化淡入淡出效果和在线播放; 优化更好的支持Wayland环境; 移除了沙盒机制; 修复部分本地音乐播放存在卡顿的问题; 修复Tooltip位置偏移的问题; 修复在Qt 5.9中界面乱码的问题; 修复GPU加速选项无效的问题; 修复无法捕获本地目录变...阅读全文

博文 2017-12-02 18:34:00 debian.cn

DNS SRV:使用DNS服务器做服务发现

级的记录,按照权重选择,记录的权重越高,被选择的可能性越高。 选择的时候,将所有记录的权重值累加,得到一个选择区间[0,sum],每个记录在[0,sum]中占据一段连续的、长度为自身权重值区间。然后生成一个[0,sum]中的随机数,随机数落在的区间所属的记录就是被选择的记录。 注意事项 在使用DNS SRV的时候,要注意DNS Client是否按照预期的方式处理收到的SRV记录。当前DNS SRV只能够负责提供服务地址列表,对这个列表如何解,完全决于Client的实现。rfc-1035中规定,通过UDP协议传输DNS响应时,UDP报文的负载不能超过512字节,在添加 SRV 记录的时候,要特别注意。通过TCP传输时没有512字节的限制。当一个服务地址有多个相同优先级的SRV记录的时候...阅读全文

博文 2019-03-05 09:35:34 debian.cn

系统分析工具 Sysdig 详解

繁的前10个文件:sysdig -c topfiles_bytes列出Apache进程或写入最频繁的文件:sysdig -c topfiles_bytes proc.name=httpd监听对 snoop 的系统调用:sysdig -p "%12user.name %6proc.pid %12proc.name %3fd.num %fd.typechar %fd.name" evt.type=openSee the top directories in terms of R+W disk activity:sysdig -c fdbytes_by fd.directory "fd.type=file"See the top files in terms of R+W disk...阅读全文

博文 2020-08-09 14:09:05 debian.cn

说透IO多路复用模型_京东云开发者的博客

FD_ISSET方法来轮询文件描述符,如果数据可,则数据即可。 举个例子,假设此时连接上来了3个客户端,connection的文件描述符分别为 4,8,12,那么其read_fds文件描述符表(bitmap结构)的大致结构为 00010001000100000…0,由于read_fds文件描述符的长度为1024位,所以最多允许1024个连接。 而在select的时候,涉及到用户态和内核态的转换,所以整体转换方式如下: 所以,综合起来,select整体还是比较高效和稳定的,但是呈现出来的问题也不少,这些问题进一步限制了其性能发挥: 文件描述符表为bitmap结构,且有长度为1024的限制。 fdset无法做到重用,每次循环必须重新创建。 频繁的用户态和内核态拷贝,性能开销较大。 需要对文件描述符表进行...阅读全文

博文 2023-01-01 15:13:50 CSDN博客

你和 Linux 高手只差了一个 LFS

很多同学都已经学习了 Linux ,可能已经在自己的机器上安装过 Linux,甚至都能搭建个简单的个人博客,也有可能编译部署过邮件服务器之类的软件,可是感觉仍然对 Linux 有点摸不着,颇有隔靴挠痒的感受。 总是好奇 Linux 内核是怎么回事,究竟里面有点什么?总是好奇 Linux 是怎么启动起来的,那个什么 GRUB 怎么知道引导信息?总是好奇设备怎么就可以被当成文件操作,为什么可以从 /proc 到进程的信息?总是好奇如何才能构建一个操作系统,从无到有的做成一个可引导的 Linux 启动盘? 不用羡慕那些说起这些就头头是道是 Linux 极客们,其实你和他们之间只是差一个 LFS 而已。 LFS 是什么? LFS(英文 Linux From Scratch 的缩写),中文释意...阅读全文

博文 2017-07-17 17:45:59 debian.cn

最全 MongoDB 基础教程

回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略) # 以易的方式数据 db.ruochen.find().pretty() 操作 格式 范例 RDBMS中的类似语句 等于 {key:value} db.ruochen.find({'by':'ruochen'}).pretty() where by = 'ruochen' 小于 {key:{$lt: value}} db.ruochen.find({'likes': {$lt:3}}).pretty() where likes < 3 小于或等于 {key:{$lte: value}} db.ruochen.find({'likes': {$lte:2}}).pretty() where likes <= 2 大于...阅读全文

博文 2021-02-22 07:45:45 OSChina

如何校验 Debian 软件包的 MD5

apt install debsums 现在可以了解如何使用debsums工具,来校验已安装软件包的MD5和了。 说明:我在下面的所有命令中使用了sudo,因为普通用户可能没有某些文件的权限。 此外,来自debsums命令的输出在左边显示了文件位置,在右边显示了检验结果。你会得到三种可能的结果,它们包括: OK――表明某个文件的MD5和是好的。 FAILED――表明某个文件的MD5和不匹配。 REPLACED――意味着某个特定文件已被来自另一个软件包的文件所更换。 如果你不用任何选项来运行,debsums会对照常规的md5sum文件来校验系统上的每个文件。 $ sudo debsums 扫描文件系统、寻找MD5和 /usr/bin/a11y-profile-manager-indicator...阅读全文

博文 2021-01-28 17:50:18 debian.cn

Everspin宣布千兆级芯片ST

据外媒报道,磁性随机存内存(MRAM)将在今年达到一个新的里程碑。Everspin宣布开始尝试打造1Gb (128MB)的ST-MRAM芯片,另外他们已经将这款高寿命、非易失性的内存芯片生产提上议程。 Everspin的ST-MRAM能够提供持久的记忆能力,相较于普通的NAND闪存技术,它可以减少写入放大倍数并拥有更好的耐用性。 这款新芯片采用的则是一个兼容DDR4的接口。这家公司表示,供应商可以利用持久的记忆技术设计企业级SSD或对现有的储存产品展开进一步的改善。 据了解,ST-MARAM的密度要比公司旗下现有的任何256MB(32MB)芯片大得多。Everspin指出,从Global Foundries的40nm工艺到foundry 28nm工艺的转变是开发这种千兆级芯片的关键,另外...阅读全文

OpenSSL 1.1.1 LTS 版本发布,支持 TLS v1.3

free operation 支持各种新的加密算法,包括: SHA3 SHA512/224 and SHA512/256 EdDSA (including Ed25519 and Ed448) X448 (adding to the existing X25519 support in 1.1.0) Multi-prime RSA SM2 SM3 SM4 SipHash ARIA (including TLS support) 旁路攻击安全性改进 Maximum Fragment Length TLS 扩展支持 新增 STORE 模块,它实现了一个规格一致的基于 URI 的存储器,可包含密钥、证书、CRL 和许多其他对象。 更多细节可查阅发行说明: https...阅读全文

Prometheus 2.13.0 发布

] Service discovery:为 kubernetes 添加新的节点地址类型 #5902[ENHANCEMENT] UI:如果查询返回了一些警告,则显示警告 #5964[ENHANCEMENT] Remote write:减少系列缓存的内存使用量 #5849[ENHANCEMENT] Remote read:使用远程流传输以减少内存使用量 #5703[ENHANCEMENT] Metrics:添加了将远程最大/最小/所需分片写入队列管理器的指标 #5787[ENHANCEMENT] Promtool:在标签查询期间显示警告 #5924[ENHANCEMENT] Promtool:改进了解析错误规则时的错误消息 #5965[ENHANCEMENT] Promtool:更多提示规则 #5515...阅读全文

Go 1.16 发布,支持 macOS ARM64

/mips64)上支持 MIPS64 体系架构,但尚不支持 cgo - 放弃了对 x87 模式编译(GO386=387)的支持。现在可以使用软浮点模式(GO386=softfloat)来支持非 SSE2 处理器 - linux/riscv64 现在支持 cgo 和 -buildmode=pie - GO111MODULE 环境变量现在默认为 on。可通过将 GO111MODULE 设置为 auto 切换回旧行为 - go 命令现在支持使用新的 //go:embed 指令来将静态文件和文件树作为最终可执行文件的一部分包含在内 - 新的 runtime/metrics 包引入了一个稳定的接口,用于从 Go 运行时中实现定义的指标 - 现在将 GODEBUG 环境变量设置为 inittrace=1 会导致...阅读全文

博文 2021-02-17 08:58:12 joseph

Github iOS 和 Android 客户端正式发布

Github 在去年的 Universe 大会上推出了尚处于 Beta 阶段的移动版客户端。经过数月的开发,适用于移动设备的 Github iOS 和 Android 客户端现已发布稳定版,可从 Google Play 或 App Store 进行获。 Github 移动版客户端提供了以下功能: 浏览最新通知对 issue 和 PR 进行阅以及回复审查和合并 PR使用 labels, assignees 以及 projects 等配置项来管理 issue浏览文件和代码 Github 移动版客户端采用原生开发,界面方面没有照搬 PC 端网站的设计,而是针对移动端提供了专为触摸屏设计的新界面,还提供了通知功能,当用户被直接 @ 的时候,就能够收到悬浮通知,方便开发者随时随地查看代码、合并更...阅读全文

博文 2020-03-18 07:30:49 debian.cn

使用 imagemagick 的 convert 命令处理图片

$convert image.png -define png:format=png32 newimage.png 10,文字注释 $convert image.png -draw "text 0,20 'some text'" newimage.png 从文件text.txt中文字,指定颜色,字体,大小,位置: $convert source.jpg -font xxx.ttf -fill red -pointsize 48 -annotate +50+50 @text.txt result.jpg 11,去掉边框 $convert image.png -trim -fuzz 10% newimage.png...阅读全文

GitHub 发布10月21日系统故障分析报告

GitHub 刚刚通过官方博客发布了 21 日“挂掉”的事件分析。GitHub 指出此次事件发生的原因是在 10 月 21 日 22:52 UTC 进行日常维护——更换发生故障的 100G 光学设备时导致美国东海岸网络中心与美国东海岸数据中心之间的连接断开。 更具体地,GitHub 分析,虽然两地的连接在 43 秒内恢复,但这次短暂的中断引发了一系列事件,这才导致了长达 24 小时 11 分钟的服务降级。 为了大规模提高性能,GitHub 的应用程序将直接写入每个群集的相关主数据库,但在绝大多数情况下将请求委派给副本服务器的子集。GitHub 使用 Orchestrator 来管理 MySQL 集群拓扑并处理自动故障转移,Orchestrator 在此过程中考虑了许多变量,并在...阅读全文

协议介绍之深入了解 gRPC

HTTP header。HTTP header 各个 fields 使用 \r\n 分隔,然后跟 body 之间使用 \r\n\r\n 分隔。解析完 header 之后,我们才能从 header 里面的 content-length 拿到 body 的 size,从而 body。 这套流程其实并不高效,因为我们需要多次,才能将一个完整的 HTTP 请求给解析出来,虽然在代码实现上面,有很多优化方式,譬如: 一次将一大块数据到 buffer 里面避免多次 IO read 的时候直接匹配 \r\n 的方式流式解析 但上面的方式对于高性能服务来说,终归还是会有开销。其实最主要的问题在于,HTTP/1.x 的协议是 文本协议,是给人看的,对机器不友好,如果要对机器友好,二进制协议才是更好的...阅读全文

博文 2017-06-22 11:08:48 debian.cn