linux-ansible-guide
Overview
Ansible is an open source IT automation engine that automates provisioning, configuration management, application deployment, orchestration, and many other IT processes.
Ansible works by connecting to your nodes and pushing out small programs—called modules—to these nodes. Modules are used to accomplish automation tasks in Ansible. These programs are written to be resource models of the desired state of the system. Ansible then executes these modules and removes them when finished.
systemd_resource_control
Overview
systemd is a Linux initialization system and service manager that includes features like on-demand starting of daemons, mount and automount point maintenance, snapshot support, and processes tracking using Linux control groups. systemd provides a logging daemon and other tools and utilities to help with common system administration tasks.
linux-selinux
libvirt-vnc-spice
SPICE | VNC | RDP | |
BIOS screen display | can | can | Can’t |
Full color support | can | can | can |
Change resolution | can | can | can |
Multi-display | Multi-monitor support (up to 4 screens) | Only one screen | Multi-monitor support |
Image transmission | Image and graphics transmission | Image transmission | Image and graphics transmission |
Video playback support | GPU acceleration support | Can’t | GPU acceleration support |
Audio transmission | Two-way voice can be controlled | Can’t | Two-way voice can be controlled |
Mouse control | Both client and server can be controlled | Server-side control | Server-side control |
USB transfer | USB can be transmitted over the network | Can’t | USB can be transmitted over the network |
Ref
-
go-lib
std
strings
Package strings implements simple functions to manipulate UTF-8 encoded strings.
1 | - func Contains(s, substr string) bool |
Note
- Trim, TrimLeft, TrimRight, check ‘each character’ in the cutset
- TrimSuffix, TrimPrefix check ‘suffix and prefix’ as a whole not a set”
go-advanced
Advanced
struct
tags
1 | package main |
Rules for writing tag
linux-network-performance
Overview
socket
There are two popular tools for inspecting the socket states (netstat and ss)
netstat gets its information from /proc/net
directly. It parses the file and prints out information based on it.
ss
was written more recently to use the netlink API
(it will fall back to proc/net if netlink is unavailable). The information in both systems is essentially the same, but netlink API
exposes more information than procfs
. so try to use ss
for socket stats if it’s available.
NOTE: netstat provides other info except socket statistics, like routing table etc.
http-cdn
Overview
A content delivery network (CDN) is a group of servers set up in different locations worldwide to provide web content over a wide geographic area much faster.
CDN, also known as “distribution networks,” offers several points of presence (PoP) outside the origin server. This enables websites to better manage traffic by handling user requests more quickly, providing an overall better experience.
In short, you’re using a CDN every time you visit a high-traffic site such as Amazon or catch up with your friends on Facebook. Their data centers keep allows to bring such content much more quickly regardless of the geographic location of individual users or the main website server.
By spreading the delivery systems out over a large area, websites can reduce bandwidth consumption and page load times, shaving precious seconds off the time it takes to handle multiple user requests.
linux-numa
Overview
The NUMA-aware architecture is a hardware design which separates its cores into multiple clusters where each cluster has its own local memory region and still allows cores from one cluster to access all memory in the system. However, if a processor needs to use memory that is not its own memory region, it will take longer to access that (remote) memory. For applications where performance is crucial, preventing the need to access memory from other clusters is critical.
- A socket refers to the
physical location where a processor package plugs into a motherboard
. The processor that plugs into the motherboard is also known as a socket. - A core is an individual execution unit within a processor that can independently execute a software execution thread and maintains its execution state separate from the execution state of any other cores within a processor.
- A thread refers to a hardware-based thread execution capability. For example, the Intel Xeon 7560 has eight cores, each of which has hardware that can effectively execute two software execution threads simultaneously, yielding 16 threads.
1 | $ lscpu |