Categories

127 pages

Computer

Linux Setup JMeter Test Environment

The author has a strong interest in hardware and used JMeter to conduct load testing, documenting the process of deploying JMeter, InfluxDB, and Grafana on CentOS 7. They shared installation and command usage for JMeter, InfluxDB’s features and Docker installation method, as well as a simple deployment and configuration for Grafana. They summarized experience and references related to high-performance programming patterns.

Background

As widely known, I have a very strong interest in hardware. By chance, the test team was using JMeter to perform load tests and discovered that performance wasn’t improving. As a curious individual, I decisively took action to see how the company conducted its testing. There’s also a small story: at some point in the distant past, I read a post on OpenChina about how to create more impressive-looking performance test graphs – after observing Windows versions execute tests and achieving visualized TPS data display, what’s the use of configuring a web panel?

Red Hat and CentOS Lifecycle

Production environment operating systems, with Red Hat and CentOS being the mainstream choices. The documentation includes links to two system lifecycles and shares experience upgrading from CentOS 8 to CentOS Stream 8.

Building PCs

The author has long had an interest in building computers from a young age, and began to delve into hardware assembly after university. They recommended websites for comparing hardware performance and offered purchasing suggestions, including CPU, solid-state drives, hard disk drives, and memory frequencies. They also shared their experience and advice regarding hardware selection and important considerations.

Wonder – Unspeakable

Ever since I was young, I’ve dreamed of building my own computer, but unfortunately, economic conditions didn’t allow it. Finally, after a lot of hard work, I reached university and built a laptop for portability. If I had to pinpoint a specific time when the idea started, it would be when I first began thinking about assembling computers at my hometown’s library. After all, it was a sizable city-level library, with not only an electronic reading room (though I never actually used it – it was billed by the hour) but also a magazine reading room, where I discovered magazines like Popular Science and Computer News. For someone who had limited exposure to computers, these were practically divine科普资料 (scientific popularization materials). When I read about players “doing dungeons” and “killing monsters,” I thought about building my own computer to do the same, acting as the main output. And when I saw “black technology,” I fantasized about replicating what was described in the books, hoping to achieve similar effects (regarding the use of hacking tools).

Website Acceleration and Domain Settings

Due to slow access to GitHub Pages from within the country, the author applied for a personal domain and purchased CDN acceleration services from a domestic cloud host provider. During the configuration process, the author encountered an issue where the www subdomain could not be accessed, which was ultimately resolved by deleting the generic domain DNS record and setting up a second-level domain separately. The author also shared the principles and configuration experience of CDN acceleration, as well as their attempts and lessons learned using reverse proxy with Nginx.

Blog IDE Environment and Ramblings

This article introduces the basic concepts of Markdown and its applications in various software, recommends using VSCode as an IDE, and lists recommended plugins. The author shares their experience switching from Hexo to Hugo, emphasizing Hugo’s flexibility and customization capabilities. Finally, it provides some suggestions for quickly getting started with new technologies and shares a trick for resolving the issue of Hugo theme styles not updating.

Automatic System Switchover

Use GitHub Actions to automatically deploy your Hugo blog to GitHub Pages and Gitee.

Background Introduction

Yesterday while updating the blog, I discovered that the travis service was unavailable. Upon checking the travis webpage, I noticed the progress was stuck during source code retrieval, and a flash of insight occurred – I thought about GitHub’s previously launched action service.

Due to being busy at the time and also needing to apply for access to use action, it has now officially gone live. With some free weekend time, I decided to try out a new toy?

Standard Library Container Memory Allocators: allocator

A custom allocator can improve performance, increase memory utilization efficiency, and address the issue of frequent, small memory allocations.

Antecedent

Recently, I’ve been working on the development of network data packets, requiring frequent allocation and release of small blocks of memory. Initially, I considered using a memory pool, reviewing several existing ones and discovering this: https://github.com/cacay/MemoryPool When looking at the interface, I was quite puzzled by how the memory pool’s implementation was a bit strange. The MemoryPool implementation logic involves allocating fixed-size memory blocks. Having reviewed Boost’s memory pool interface, it provides a template that is instantiated when used. Fortunately, this library already had an article describing it, mentioning the concept of an ‘allocator’.