Skip to content

Commit 2fd095d

Browse files
committed
WIP
1 parent 184059d commit 2fd095d

File tree

3 files changed

+17
-89
lines changed

3 files changed

+17
-89
lines changed

content/learning-paths/servers-and-cloud-computing/go-benchmarking-with-sweet/add_c4_vm.md

Lines changed: 8 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -7,80 +7,27 @@ layout: learningpathall
77
---
88

99
## Overview
10-
In the previous section, you setup System A, which is a c4a-standard-4. In this section, you will setup the second system used for benchmarking in this learning path, our System B, which will be a c4-standard-8.
11-
12-
{{% notice Note %}}
13-
If you choose to run the benchmark against one or more existing instances, you can skip this section; just refer to the system created in this section as System B going forward.
14-
{{% /notice %}}
10+
In the previous section, you setup a c4a-standard-4. In this section, you will setup the second system used for benchmarking in this learning path, a c4-standard-8.
1511

1612

17-
### Creating System B
13+
### Creating the instance
1814

19-
1\. Navigate to [https://console.cloud.google.com/welcome](https://console.cloud.google.com/welcome)
15+
To create the second system, follow the previous lesson's c4a install instructions, but make the following changes:
2016

2117

22-
2\. Click into the Search field.
18+
1. For the `Name` field, and enter "c4".
2319

24-
25-
3\. Start typing `vm` until the UI auto-completes `VM Instances`, then click it.
26-
27-
![](images/launch_c4a/3.png)
28-
29-
The VM Instances page appears.
30-
31-
5\. Click `Create instance`
32-
33-
![](images/launch_c4a/4.png)
34-
35-
The Machine configuration page appears.
36-
37-
6\. Click the `Name` field, and enter "c4" for the `Name`.
38-
39-
40-
![](images/launch_c4a/5.png)
41-
42-
43-
44-
8\. Scroll down to the Machine series section, and select the C4 radio button.
20+
2. Scroll down to the Machine series section, and select the C4 radio button.
4521

4622
![](images/launch_c4/3.png)
4723

48-
49-
50-
9\. Scroll down to the Machine type dropdown, and click it to show all available options.
24+
3. Scroll down to the Machine type dropdown, and click it to show all available options.
5125

5226
![](images/launch_c4/4.png)
5327

54-
55-
56-
10\. Select "c4-standard-8" under the Standard tab.
28+
4. Select "c4-standard-8" under the Standard tab.
5729

5830
![](images/launch_c4/5.png)
5931

6032

61-
62-
11\. Click the "OS and Storage" tab.
63-
64-
![](images/launch_c4/11.png)
65-
66-
67-
68-
12\. Click "Change"
69-
70-
![](images/launch_c4/12.png)
71-
72-
73-
74-
13\. Click the "Size (GB)" field, then enter "1000" for the value.
75-
76-
![](images/launch_c4/13.png)
77-
78-
15\. Click "Select" to continue.
79-
80-
![](images/launch_c4/15.png)
81-
82-
16\. Click "Create" to bring up the instance.
83-
84-
![](images/launch_c4/16.png)
85-
86-
After a few seconds, our System A starts up, and you are ready to continue on to the next section, where you will launch the second system, System B.
33+
After the c4 starts up, and you are ready to continue on to the next section, where you'll install the benchmarking software.
-116 KB
Loading

content/learning-paths/servers-and-cloud-computing/go-benchmarking-with-sweet/overview.md

Lines changed: 9 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -8,42 +8,23 @@ layout: learningpathall
88

99
## Go Benchmarking Learning Path Overview
1010

11-
Welcome to the **Go Benchmarking** learning path! In this module, you’ll learn how to measure, collect, and compare Go performance data using three key codebases:
11+
In this module, you’ll learn how to measure, collect, and compare Go performance data using:
1212

13-
- **Go Benchmarks** (a collection of pre-written benchmark definitions)
14-
- **Sweet** (a benchmark runner)
15-
- **Benchstat** (a statistical comparison tool)
13+
- **Go Benchmarks**, a collection of pre-written benchmark definitions, standardizes performance tests for popular Go applications, leveraging Go's built-in benchmark support.
1614

17-
In this learning path, we'll use Intel c4-standard-8 and Arm-based c4a-standard-4 instances on running on GCP to run and compare our benchmarks using the above tools.
15+
- **Sweet**, a benchmark runner, automates running Go benchmarks across multiple environments, collecting and formatting results for comparison.
1816

19-
{{% notice Note %}}
20-
Arm-based c4a-standard-4 instances, and Intel-based c4-standard-8 instances both utilize four cores, and are categorized by GCP as **consistently high performing**. The main difference between these machine-types definitions is that the c4a has 16 GB of RAM, while the c4 has 30 GB of RAM. We've chosen to keep CPU cores equivalent across the two instances of the same series to keep the comparison as close as possible.
21-
{{% /notice %}}
22-
23-
24-
### What are Go Benchmarks?
25-
26-
Go has built-in benchmark support built into the standard library, allowing you to create custom benchmarks for your own workloads. The **Golang Benchmark** suite available at `https://github.com/golang/benchmarks` repo provides pre-written benchmarks for popular Go-based applications, making it easy to run standardized benchmarks across different systems with very little effort.
27-
28-
You will have the benchmarks pre-written for you from the github repo, but you will need to install and configure the **Sweet** tool to run them.
29-
30-
### What Is Sweet?
17+
- **Benchstat**, a statistical comparison tool, analyzes benchmark results to identify meaningful performance differences between systems.
3118

32-
The **Sweet** tool is a command-line orchestrator for running Go benchmarks at scale. It is designed to automate the process of running benchmarks on one or more remote hosts, collecting results, and writing them in a structured JSON format.
19+
You'll use Intel c4-standard-8 and Arm-based c4a-standard-4 instances on running on GCP to run and compare our benchmarks using the above tools.
3320

34-
With Sweet, you can easily compare performance across different environments (e.g., Arm-based servers vs. x86 instances).
35-
36-
Once you've run the benchmarks, you can use the **Benchstat** tool to analyze the results and identify performance regressions or improvements.
37-
38-
### What Is Benchstat?
39-
40-
**Benchstat** is the statistical comparison tool for Go benchmark outputs. It parses JSON or text benchmark results, and compares them using statistical methods to identify performance changes. Benchstat helps you make data-driven decisions by surfacing real performance deltas.
21+
{{% notice Note %}}
22+
Arm-based c4a-standard-4 instances, and Intel-based c4-standard-8 instances both utilize four cores. Both instances are categorized by GCP as members of the **consistently high performing** series; the main difference between these the two is that the c4a has 16 GB of RAM, while the c4 has 30 GB of RAM. We've chosen to keep CPU cores equivalent across the two instances of the same series to keep the comparison as close as possible.
23+
{{% /notice %}}
4124

4225
When you are finished running through this learning path, you'll have:
4326

4427
1. Brought up Arm and x86 instances of GCP-based VMs
4528
2. Installed Go, benchmarks, benchstat, and sweet on the two VMs
4629
3. Used sweet and benchstat to compare performance of Go applications on the two VMs
47-
4. Extrapolate the knowledge to create Go Benchmarks for your own workloads and systems
48-
49-
30+
4. Extrapolated the knowledge to create Go Benchmarks for your own workloads and systems

0 commit comments

Comments
 (0)