万本电子书0元读

万本电子书0元读

顶部广告

ASP.NET Core 2 High Performance - Second Edition电子书

售       价:¥

34人正在读 | 0人评论 6.2

作       者:James Singleton

出  版  社:Packt Publishing

出版时间:2017-10-11

字       数:45.2万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Learn how to develop web applications that deploy cross-platform and are optimized for high performance using ASP.NET Core 2 About This Book ? Master high-level web app performance improvement techniques using ASP.NET Core 2.0 ? Find the right balance between premature optimization and inefficient code ? Design workflows that run asynchronously and are resilient to transient performance issues Who This Book Is For This book is aimed for readers who can build a web application and have some experience with ASP.NET or some other web application framework (such as Ruby on Rails or Django). They can be people who are happy learning details independently but who struggle to discover the topics that they should be researching. The reader should be interested in improving the performance of their web app and in learning about ASP.NET Core and modern C#. What You Will Learn ? Understand ASP.NET Core 2 and how it differs from its predecessor ? Address performance issues at the early stages of development ? Set up development environments on Windows, Mac, and Linux ? Measure, profile and find the most significant problems ? Identify the differences between development workstations and production infrastructures, and how these can exacerbate problems ? Boost the performance of your application but with an eye to how it affects complexity and maintenance ? Explore a few cutting-edge techniques such as advanced hashing and custom transports In Detail The ASP.NET Core 2 framework is used to develop high-performance and cross-platform web applications. It is built on .NET Core 2 and includes significantly more framework APIs than version 1. This book addresses high-level performance improvement techniques. It starts by showing you how to locate and measure problems and then shows you how to solve some of the most common ones. Next, it shows you how to get started with ASP.NET Core 2 on Windows, Mac, Linux, and with Docker containers. The book illustrates what problems can occur as latency increases when deploying to a cloud infrastructure. It also shows you how to optimize C# code and choose the best data structures for the job. It covers new features in C# 6 and 7, along with parallel programming and distributed architectures. By the end of this book, you will be fixing latency issues and optimizing performance problems, but you will also know how this affects the complexity and maintenance of your application. Finally, we will explore a few highly advanced techniques for further optimization. Style and approach A step-by-step practical guide filled with real-world use cases and examples
目录展开

Title Page

Second Edition

Copyright

ASP.NET Core 2 High Performance

Second Edition

Credits

Foreword

About the Author

About the Reviewer

www.PacktPub.com

Why subscribe?

Customer Feedback

Preface

What this book covers

What you need for this book

Who this book is for

Conventions

Reader feedback

Customer support

Downloading the example code

Errata

Piracy

Questions

What's New in ASP.NET Core 2?

What's new in Core 2

What's new in .NET Core 2

Performance improvements

What's new in ASP.NET Core 2

Performance improvements

Standards

New C# features

C# 6

String interpolation

Null conditional

Exception filters

Asynchronous availability

Expression bodies

C# 7

Literals

Tuples

Out variables

References

Patterns

More expression bodies

More asynchronous improvements

JavaScript

Summary

Why Performance Is a Feature

Performance as a feature

Common classes of performance problems

Language considerations

Types of performance problems

When performance matters

Slower is sometimes better

Why issues are missed

Measuring

The benefits of planning ahead

Understanding hardware

Storage access speeds

Scaling approach changes

Tools and costs

Tools

Looking at some alternative tools

The new .NET

Summary

Setting Up Your Environment

Windows

Visual Studio 2017

Installing VS

Installing .NET Core 2

Creating your first app

Mac

Visual Studio for Mac

Installing VS Mac

Installing .NET Core 2

Creating your first app

Visual Studio Code

Linux

Getting started with .NET Core on Linux

Installing .NET Core 2

Creating your first app

Containerization with Docker

Using ASP.NET Core 2 with Docker

Summary

Measuring Performance Bottlenecks

Tools

SQL

SQL Server Profiler

Executing a simple query

MiniProfiler

Application profiling

Glimpse

Using Glimpse

IDE

Monitoring HTTP

Browsers

Chrome

Firefox

Fiddler

Network

Microsoft Message Analyzer

Wireshark

Roll your own

Science

Repeatability

Only change one thing

Summary

Fixing Common Performance Problems

Latency

Asynchronous operations

Simple asynchronous tools

Background queuing

Hangfire

Select N+1 problems

Efficient paging

Static site generators

Pragmatic solutions with hardware

A desktop example

Web applications

Oversized images

Image resolution

Image format

Summary

Addressing Network Performance

Internet protocols

TCP/IP

Slow-start

HTTP

Headers

HTTP methods

Status codes

Encryption

Key exchange

Delay diagnostics

Performance tweaks

HTTP/2

WebSockets

Compression

Lossless compression algorithms

Bundling and minification

Bundling

Minification

Changes in ASP.NET Core

Image optimization

PNG

JPEG

Other image formats

Resizing images

Caching

Browser

Server

Proxy servers between you and your users

CDNs

Summary

Optimizing I/O Performance

Input/output

Categories of I/O

Disks

Virtual filesystems

Databases

APIs

Network diagnostics tools

Ping

Tracert

Nslookup

Build your own

Solutions

Batching API requests

Efficient DB operations

Database tuning

Reporting

Aggregates

Sampling

Inserting data

GUIDs

Advanced DB topics

Simulation and testing

Summary

Understanding Code Execution and Asynchronous Operations

Getting started with the core projects

.NET Core

ASP.NET Core

Kestrel

Data structures

Lists

Dictionaries

Collection benchmarks

Bloom filters

Hashing and checksums

Hashing benchmarks

Serialization

SIMD CPU instructions

Parallel programming

Task Parallel Library

Parallel LINQ

Parallel benchmarking

Parallel programming limitations

Multithreading and concurrency

Locking

Practices to avoid

Reflection

Regular expressions

String concatenation in tight loops

Dynamic typing

Synchronous operations

Exceptions

Summary

Learning Caching and Message Queuing

Why caching is hard

Web caching

Caching background

HTTP headers

Cache busting

Service workers

Service worker example

Web and proxy servers

IIS

Varnish

Working with a content delivery network

When not to cache

Application layer caching

Redis

Database result set caching

Message queuing

Coffee shop analogy

Message queuing styles

Common messaging patterns

Unicast

Pub/sub

RabbitMQ

Queuing frameworks and libraries

Summary

The Downsides of Performance-Enhancing Tools

Managing complexity

Understanding complexity

Complexity reduction

Frameworks

Architecture

Monolith versus microservices

Architecture comparison

Refactoring

A culture of high performance

A blameless culture

Intellectual dishonesty

Slow down to go faster

From the ground up

Shared values

The price of performance

Distributed debugging

Logging

Error logging

Application Insights

Integrated logging

Centralized logging

Statistics

Managing stale caches

Summary

Monitoring Performance Regressions

Profiling and measurement

Testing

Automated testing

Continuous integration

Slow testing

Fixing performance regressions

Load testing

Realism

Realistic environments

Realistic workloads

Feature switching

Experimenting for science

A/B testing

User interface testing

Web UI testing tools

Automating UI performance tests

Staying alert

DevOps

DevOps tooling

Provisioning

Monitoring

Hosting

Summary

The Way Ahead

Reviewing what we learned

Further reading

Going native

Processor architecture

Hardware is hard

Machine learning

Big data and MapReduce

Orleans

Custom transports

Advanced hashing

Library and framework support

The future

Summary

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部