linuxcoming 发布的文章

服务器性能监控包含许多内容,比如系统负载、CPU使用率、网络带宽使用情况、IO调用频率等等,Swap的使用情况也为我们对服务器性能监控提供补充。

Swap 介绍

用户进程内存空间中数据有两种:

  • 从文件系统中读进来的数据 (主要有文件内容高速缓存, 程序代码和共享库)
  • 程序使用的堆栈空间

- 阅读剩余部分 -

git操作一般都支持两种协议:ssh/http(s), 默认情况下, 不管使哪种协议在进行git操作都将输入用户名和密码,这将导致整个使用体验非常差。我们希望仅仅输入一次用户名和密码, 甚至一次也不用输入。

在进行任何配置之前, 我们需要定义我们使用哪个用户和git代码库交互。使用git config配置用户名和邮箱信息,如果你仅仅是用于当前工作目录,去掉 --global 选项,将仅在当前代码库生效。

git config --global user.email "xxx@xxx.com"
git config --global user.user"xxx"

设置git长期存储密码

git config --global credential.helper store

- 阅读剩余部分 -

了解开源软件最好的办法是看开源软件的官方网站,对与GNU Autotools主要包含三个工具:AutoconfAutomakeLibtool

三个工具的官方文档地址见:

虽然文档多达几百页,但相对来说更系统和更完善,值得细细品读。

GNU软件的构建过程,一般来说, 包含三个步骤:

  • tar xfv xxx.tar.gz
  • ./configure
  • make
  • make install

该过程一般依赖两个文件, configure和Makefile文件。

Autoconf/Automake就是一套用于自动构建configure脚本和Makefile文件的工具。

- 阅读剩余部分 -

Docker 是一个容器化平台,允许您快速构建、测试和部署应用程序,因其可移植、轻量, 因此容器几乎可以在任何地方运行。

接下李我们将解释如何在Debian 10 Buster上安装Docker并了解基本的Docker概念和命令。

安装

在安装Docker之前, 需要添加Docker的私有仓库。安装必要的依赖包:

$ sudo apt update
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg2

- 阅读剩余部分 -

HTTP是一种能够获取如 HTML 这样的网络资源的 protocol(通讯协议)。它是在 Web 上进行数据交换的基础,是一种 client-server 协议,也就是说,请求通常是由像浏览器这样的接受方发起的。一个完整的Web文档通常是由不同的子文档拼接而成的,像是文本、布局描述、图片、视频、脚本等等。

Web Flow

- 阅读剩余部分 -

重用已获取的资源能够有效的提升网站与应用的性能。Web 缓存能够减少延迟与网络阻塞,进而减少显示某个资源所用的时间。借助 HTTP 缓存,Web 站点变得更具有响应性。

缓存类型

缓存是一种保存资源副本并在下次请求时直接使用该副本的技术。当 web 缓存发现请求的资源已经被存储,它会拦截请求,返回该资源的拷贝,而不会去源服务器重新下载。这样带来的好处有:缓解服务器端压力,提升性能(获取资源的耗时更短了)。对于网站来说,缓存是达到高性能的重要组成部分。缓存需要合理配置,因为并不是所有资源都是永久不变的:重要的是对一个资源的缓存应截止到其下一次发生改变(即不能缓存过期的资源)。

- 阅读剩余部分 -

"像黑客一样写博客" 是 Tom Preston-Werner的博客文章, Thomas Preston-Werner是美国亿万富翁软件开发商和企业家。他是开源开发社区的积极贡献者,他居住的旧金山湾区。 因为是流行的GitHub的创始人, 因此被很多人所熟知, Thomas Preston-Werner也是Gravatar头像服务的创始人.

Tom Preston-Werner

他在他的个人博客上分享了这篇文章,讲述了多年在互联网上写作经历, 我想很多人都经历写写停停的过程,我想更多的原因是没有好的能够完全掌控的博客工具,希望了解该文后,能按照作者的思路找到适合自己的博客工具, 避免因为工具的原因不断的退出,不断又重新开始的恶心循环。下面是翻译后的正文:

- 阅读剩余部分 -

cpu 常见的架构有 NUMA、SMP、MPP, 程序性能很大程度上跟CPU架构相关。

SMP

SMP (Symmetric Multiprocessing) , 对称多处理器. 在SMP中所有的处理器都是对等的, 它们通过总线连接共享同一块物理内存,这也就导致了系统中所有资源(CPU、内存、I/O等)都是共享的,这就带来一个问题, 所有资源不可避免的产生竞争。总体来说架构相对简单,但是扩展能力很差。

NUMA

NUMA ( Non-Uniform Memory Access),非均匀访问存储模型,SMP 因为多个 CPU 访问同一块内存池经常发生冲突,NUMA 架构的目的将CPU的资源分开管理,以 node 为单位进行切割,每个node 里有着独有的core ,memory 等资源,这也将大大降低系统层面的资源竞争,在性能上有不小的提升,任何事物都有好的方面, 也有差的一面, 2个 node 之间的资源交互非常慢,当 CPU 大幅增加的情况下,性能提升的幅度并不是很高。

- 阅读剩余部分 -

virtualenv is a tool to create isolated Python environments. Since Python 3.3, a subset of it has been integrated into the standard library under the venv module.

virtualenv是一个用于创建隔离Python环境的工具。从3.3版本开始, 标准库实现了virtualenv的一个功能子集,社区应该是考虑在标准库中集成virtualenv, 不过到目前为止,也近仅仅是个功能子集,完整的功能使用还是需要使用 pip 安装 virtualenv 包才行。

virtualenv主要是解决依赖冲突问题,如果操作系统版本的某个lib库版本较高, 和应用的低版本lib不兼容,那这时候在不影响系统python lib库的同时还能完美的支持应用的调试和使用,将非常方便python开发。也用于模拟不同的python版本环境, 比如Python 2X/3X, 这种大版本的不兼容问题隔离验证。

- 阅读剩余部分 -