C--AWS-开发指南-三-

64 阅读2分钟

C# AWS 开发指南(三)

原文:zh.annas-archive.org/md5/2e7a029346e8eb1f5a214ebb90ecfb4c

译者:飞龙

协议:CC BY-NC-SA 4.0

附录 A. AWS 的基准测试

深入了解 AWS 的一种方法是对不同机器的性能进行基准测试。 AWS 的价值之一是能够使用许多不同的服务和其他抽象化方法来以最有效的方式解决问题。 您可以在这个基准测试的示例 GitHub 仓库中查看许多代码示例。 请注意,从 1 核心到 36 核心再到 96 核心的 sysbench 基准测试显示了显著差异,如图 A-1 所示。

doac ab01

图 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 上观看此过程的演示。