C# AWS 开发指南(三)
原文:
zh.annas-archive.org/md5/2e7a029346e8eb1f5a214ebb90ecfb4c译者:飞龙
附录 A. AWS 的基准测试
深入了解 AWS 的一种方法是对不同机器的性能进行基准测试。 AWS 的价值之一是能够使用许多不同的服务和其他抽象化方法来以最有效的方式解决问题。 您可以在这个基准测试的示例 GitHub 仓库中查看许多代码示例。 请注意,从 1 核心到 36 核心再到 96 核心的 sysbench 基准测试显示了显著差异,如图 A-1 所示。
图 A-1. AWS 实例的基准测试
当您的组织确定在 Amazon Linux 2 上运行 .NET Core 的正确机器时,最好进行一些初始基准测试。 要在 Amazon Linux 2 上以可重复的方式运行这些基准测试,可以参考这个Makefile。 请注意,sysbench 只需要两行来安装和运行 ./benchmark.sh 脚本。
实际的基准测试脚本如下:
#!/usr/bin/env bash
CPU=`python -c "import multiprocessing as mp;print(f'{mp.cpu_count()}')"`
echo "Running with CPU Count and Threads: " $CPU
sysbench cpu --threads=$CPU run
makefile 命令可以作为 make benchmark-sysbench-amazon 运行:
benchmark-sysbench-amazon:
#install sysbench
curl -s https://packagecloud.io/install/repositories/akopytov/\
sysbench/script.rpm.sh | sudo bash
sudo yum -y install sysbench
#run CPU benchmark
./benchmark.sh
基准测试脚本使用“单行命令”来确定可用的核心数,然后将其传递给 CPU 基准测试:
#!/usr/bin/env bash
CPU=`python -c "import multiprocessing as mp;print(f'{mp.cpu_count()}')"`
echo "Running with CPU Count and Threads: " $CPU
sysbench cpu --threads=$CPU run
像Cinebench这样的免费工具可用于对 Windows 操作系统进行基准测试。 在实际部署应用程序的环境中执行多次测量,包括操作系统级别的基准测试和应用程序负载测试,总是一个好主意。
附录 B. 使用 .NET 入门
从浏览器开始交互式文档的 Hello World。
GitHub Codespaces 中的 C# Hello World
接下来,尝试使用 GitHub Codespaces 和 Visual Studio Code 教程。
首先,从 CLI 创建一个新的控制台应用,并命名为 HelloWorld:
dotnet new console -n HelloWorld
这一步创建了一个控制台项目。接下来,将 Program.cs 中的代码更改为以下示例:
using System;
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World C# on AWS!");
}
}
}
接下来,进入目录(cd HelloWorld)并运行代码 dotnet run。该命令的输出如下:
Hello World C# on AWS!
GitHub Codespaces 中的 F# Hello World
创建一个新的 F# 控制台应用:
dotnet new console -lang "F#" -n FSharpHelloWorld
将代码更改为以下内容:
open System
// Define a function to construct a message to print
let from whom =
sprintf "from %s" whom
[<EntryPoint>]
let main argv =
let message = from "F# on AWS" // Call the function
printfn "Hello world %s" message
0 // return an integer exit code
接下来,进入目录(cd FSharpHelloWorld)并运行 dotnet run。输出将是:Hello world from F# on AWS。
注意
您可以在 O'Reilly 平台 或 YouTube 上观看此过程的演示。