《构建高性能web站点》笔记

简介: 数据的网络传输、服务器并发处理能力、动态内容缓存、动态脚本加速、浏览器缓存、web服务器缓存、反向代理缓存、web组件分离、分布式缓存、数据库性能优化、web负载均衡、共享文件系统、内容分发和同步、分布式文件系统、数据库扩展、分布式计算、性能监控1、数据如何发送:应用程序调用胸痛函数库接口向内核发出调用请求,系统内核随后将数据从用户态内存区复制到内核缓冲区,内核缓冲区是共用的,所以数据要以队列方式传输。

数据的网络传输、服务器并发处理能力、动态内容缓存、动态脚本加速、浏览器缓存、web服务器缓存、反向代理缓存、web组件分离、分布式缓存、数据库性能优化、web负载均衡、共享文件系统、内容分发和同步、分布式文件系统、数据库扩展、分布式计算、性能监控

1、数据如何发送:应用程序调用胸痛函数库接口向内核发出调用请求,系统内核随后将数据从用户态内存区复制到内核缓冲区,内核缓冲区是共用的,所以数据要以队列方式传输。到了内存缓冲区后会复制到网卡的缓冲区,数据之间的复制始终按照连接两端设备的内部总线宽度来复制,也就是字节的整倍数,比如32位总线的主机系统中,任何时候只能复制32位的比特信息。网卡缓冲区中的数据需要被转换成物理信号来发送。

2、阻塞IO和阻塞IO:等不等待

3、PIO和DMA:内存和磁盘的交互是否需要经手CPU

4、nginx占用内存极少

5、长连接:减少连接时间

6、epoll:总调度系统

7、apache的fork模式:一个进程一个连接;worker模式:一个线程一个连接。一般使用第一个种方式

8、nginx的worker_processes 表示启动几个worker进程

9、动态网页做缓存,减少计算和与DB的交互等开销。小站点考虑APC,大站点考虑专门的缓存服务器做memcached。部分做局部无缓存

10、动态脚本加速:APC、XCache、eAccelerator

11、检查函数运行的性能:linux--KCacheGrind  windows--WinCacheGrind

12、浏览器缓存协商,编程语言上可以设置:last-modified,expires,cache-control参数来设置浏览器缓存策略

13、web服务器缓存:apache、nginx都提供了缓存模块

14、反向代理服务器缓存工具:varnish(首选)、squid

15、负载均衡包括DNS负载均衡、反向代理负载均衡、IP负载均衡(LVS-NAT,LVS-DR,LVS-TUN),RR顺序轮询的性能并不好。

16、利用共享文件系统实现图片共享(nfs,samba跨平台),nfs不适合作为I/O密集型文件的共享方案,默认情况下NFS的进程数是4,通过更改/etc/sysconfig/nfs种的进程数:USE_KERNEL_NFSD_NUMBER=“64”。在NFS客户端上查看IO:nfsstat 

17、文件分发机制:nfs,samba,scp,sftp,webdav,rsync

18、分布式文件系统:hadoop,MogileFS

19、nginx可以实现webdav

20、mysql的主从复制:开启主服务器上的二进制日志;在主从服务器上分别进行简单的配置和授权

21、mysql proxy实现mysql的负载均衡,一主多从,一写多读。Spock Proxy,改进版

22、Job Server:Gearman远程函数调用,MemcacheQ,改进版


PDF:http://www.jb51.net/books/560398.html

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
14天前
|
编解码 前端开发 JavaScript
构建高效响应式Web界面:现代前端框架的比较
【4月更文挑战第9天】在移动设备和多样屏幕尺寸盛行的时代,构建能够适应不同视口的响应式Web界面变得至关重要。本文深入探讨了几种流行的前端框架——Bootstrap、Foundation和Tailwind CSS,分析它们在创建响应式设计中的优势与局限。通过对比这些框架的栅格系统、组件库和定制化能力,开发者可以更好地理解如何选择合适的工具来优化前端开发流程,并最终实现高性能、跨平台兼容的用户界面。
|
14天前
|
前端开发 JavaScript 关系型数据库
从前端到后端:构建现代化Web应用的技术探索
在当今互联网时代,Web应用的开发已成为了各行各业不可或缺的一部分。从前端到后端,这篇文章将带你深入探索如何构建现代化的Web应用。我们将介绍多种技术,包括前端开发、后端开发以及各种编程语言(如Java、Python、C、PHP、Go)和数据库,帮助你了解如何利用这些技术构建出高效、安全和可扩展的Web应用。
|
7天前
|
缓存 监控 数据库
Flask性能优化:打造高性能Web应用
【4月更文挑战第16天】本文介绍了提升Flask应用性能的七大策略:优化代码逻辑,减少数据库查询,使用WSGI服务器(如Gunicorn、uWSGI),启用缓存(如Flask-Caching),优化数据库操作,采用异步处理与并发(如Celery、Sanic),以及持续监控与调优。通过这些手段,开发者能有效优化Flask应用,适应大型或高并发场景,打造高性能的Web服务。
|
8天前
|
前端开发 搜索推荐 数据安全/隐私保护
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
18 1
|
8天前
|
数据库 开发者 Python
Python中使用Flask构建简单Web应用的例子
【4月更文挑战第15天】Flask是一个轻量级的Python Web框架,它允许开发者快速搭建Web应用,同时保持代码的简洁和清晰。下面,我们将通过一个简单的例子来展示如何在Python中使用Flask创建一个基本的Web应用。
|
12天前
|
JavaScript 前端开发 API
Vue.js:构建高效且灵活的Web应用的利器
Vue.js:构建高效且灵活的Web应用的利器
|
19天前
|
编解码 前端开发 开发者
构建响应式Web界面:Flexbox与Grid布局的深度对比
【4月更文挑战第4天】 在现代前端开发中,构建灵活且响应式的用户界面是至关重要的。随着移动设备浏览量的增加,能够适应不同屏幕尺寸和分辨率的布局技术变得必不可少。Flexbox和Grid是CSS提供的两种强大的布局机制,它们各自以独特的方式解决了响应式设计的挑战。本文将深入探讨Flexbox和Grid的核心概念、使用场景和性能考量,为开发者提供在面对不同布局需求时做出明智选择的依据。
|
1月前
|
编解码 前端开发 开发者
构建响应式Web界面:Flexbox的力量
【2月更文挑战第28天】 在现代网页设计中,创建能在不同设备上保持一致性和功能性的响应式界面是至关重要的。Flexbox,一个CSS布局模块,为前端开发者提供了强大工具来轻松实现灵活的布局设计。本文将深入探讨Flexbox的核心概念、使用场景以及如何通过它来优化响应式设计流程。
|
1月前
|
前端开发 开发者 UED
构建响应式Web界面:Flexbox与Grid布局的深度解析
【2月更文挑战第28天】 在现代前端开发中,打造灵活且适应不同屏幕尺寸的用户界面是至关重要的。随着移动设备的普及,响应式设计已经成为网页制作不可或缺的一部分。本文将深入探讨两种强大的CSS布局模块——Flexbox和Grid,它们如何简化布局创建过程,并赋予设计师更大的灵活性去构建动态和流畅的响应式界面。通过对这两种技术的比较、使用场景分析以及代码示例,读者将能够更好地理解何时以及如何使用这些工具来提升前端项目的质量和效率。
16 0
|
1月前
|
编解码 前端开发 开发者
构建响应式Web界面:Flexbox布局的全面指南
【2月更文挑战第28天】 在当今多变的设备屏幕尺寸和分辨率中,创建一个能够适应不同视口的响应式Web界面至关重要。本文深入探讨了CSS Flexbox布局模块,它是一种设计灵活且强大的方式来创建复杂的响应式布局。我们将透过概念解析、关键属性讲解以及实际案例分析,帮助前端开发者掌握Flexbox的核心原理和应用技巧,以实现流畅的页面布局调整和优化用户体验。