• 构建高并发网站架构


    构建高并发网站架构

    https://www.cnblogs.com/leefreeman/p/3993449.html

    特点:并发数高、访问量大、数据量大、用户分布广泛、网络环境复杂、稳定性高、易于扩展、安全性高

    基础设施

    服务器介绍:塔式服务器、机架式服务器、刀片式服务器、虚拟主机、虚拟机、服务器、云主机

    网络设备介绍:交换机、防火墙、路由器

    存储设备:san、nas、das

    IDC:机房、机柜、网络、电源、空调

    基本概念

    head详解:kb.cnblogs.com/page/92320/

    http协议:超文本传输协议,http1.0是没有办法保持连接,http1.1可以保持连接,http1.1支持host请求头(一个服务器上配置多个域名)

    linux查看head

    [root@centos-01 kvm_data]# curl -I http://www.baidu.com
    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
    Connection: Keep-Alive
    Content-Length: 277
    Content-Type: text/html
    Date: Thu, 12 Jul 2018 01:35:20 GMT
    Etag: "575e1f5d-115"
    Last-Modified: Mon, 13 Jun 2016 02:50:05 GMT
    Pragma: no-cache
    Server: bfe/1.0.8.18
    
    [root@centos-01 kvm_data]# 

    http状态码:200正常请求、301永久跳转、302临时跳转、304从缓存中取、401需要认证、403无权限、404图片或网页找不到、500服务器问题、502nginx服务器+php-fpm中常见,nginx请求php发现php文件找不到会报502、503常出现在代理服务器、504访问超时

    url和uri:uri包含url 

    常用服务器

    apache、nginx、iis、tomcat

    awstat日志分析

    http://blog.51cto.com/freeloda/1346412

    Apache服务器下查看服务器吞吐量

    loadrunner

    临时测试工具ab(如果没有ab命令yum安装httpd包)

    ab -c 100 -n 1000  http://www.baidu.com/index.php

    -c指定并发送 -n指定访问多少次

    [root@centos-04 src]# ab -c 10 -n 100  http://www.qq.com/index.php   
    This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Licensed to The Apache Software Foundation, http://www.apache.org/
    
    Benchmarking www.qq.com (be patient).....done
    
    
    Server Software:        stgw/1.3.6.2_1.13.5
    Server Hostname:        www.qq.com
    Server Port:            80
    
    Document Path:          /index.php
    Document Length:        168 bytes
    
    Concurrency Level:      10
    Time taken for tests:   0.275 seconds
    Complete requests:      100
    Failed requests:        0
    Write errors:           0
    Non-2xx responses:      100
    Total transferred:      37300 bytes
    HTML transferred:       16800 bytes
    Requests per second:    364.20 [#/sec] (mean) (吞吐量、并发送)
    Time per request:       27.457 [ms] (mean) (每个请求花费的时间,不超过3秒就没问题)
    Time per request:       2.746 [ms] (mean, across all concurrent requests)
    Transfer rate:          132.66 [Kbytes/sec] received
    
    Connection Times (ms)
                  min  mean[+/-sd] median   max
    Connect:        6   11   2.8     11      21
    Processing:     6   12   4.7     11      29
    Waiting:        5    9   2.5      9      18
    Total:         13   23   5.7     21      39
    
    Percentage of the requests served within a certain time (ms)
      50%     21
      66%     24
      75%     26
      80%     28
      90%     30
      95%     32
      98%     38
      99%     39
     100%     39 (longest request)
    [root@centos-04 src]# 

    网站架构角色web

    第一种:client-》web-》db

    第二种:client-》cdn-》代理-》web-》缓存-》db

    cdn:加速器,解决由于网络带宽小、用户访问量大、网点分布不均而产生的用户访问网站响应速度慢的根本原因,CDN目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,解决 Internet 网络拥塞状况,提高用户访问网站的响应速度。

    web:iis、Apache、nginx+php-fpm、tomcat+jdk nginx+uwsgi+python

    db:mysql/maridb/、postgresql、oracle、mangodb

    nosql:memcached、redis

    代理:squid和varnish(不仅仅可以做代理还可以缓存)、nginx

    cdn就是一个带缓存的代理,

    存储:fastdfs  gfs hdfs tfs glusterfs

    架构

     

    网站架构演变 - 小型网站

     

    网站架构演变 - 小型网站

     

    网站架构演变 - 中小型网站

    网站架构演变 - 中型网站

    架构优化-CDNnginx调优

    架构优化-硬件优化

    架构优化-CDNnginx调优

    架构优化-使用nosql

    架构优化-业务调优

    架构优化-内核调优

    架构优化-使用异步通信

    架构优化-案例分析

    减少 http请求

    记录慢执行慢查询日志

    将动态内容静态化

    图片延迟加载

    动静分离

    应用无状态

    查看当前系统运行进程

    [root@centos-04 nginx-1.14.0]# pstree
    systemd─┬─NetworkManager─┬─dhclient
            │                └─2*[{NetworkManager}]
            ├─auditd───{auditd}
            ├─crond
            ├─dbus-daemon
            ├─dockerd-current─┬─docker-containe─┬─docker-containe─┬─mysqld───29*[{mysqld}]
            │                 │                 │                 └─7*[{docker-containe}]
            │                 │                 ├─docker-containe─┬─php-fpm───2*[php-fpm]
            │                 │                 │                 └─7*[{docker-containe}]
            │                 │                 ├─docker-containe─┬─nginx───nginx
            │                 │                 │                 └─7*[{docker-containe}]
            │                 │                 └─10*[{docker-containe}]
            │                 ├─3*[docker-proxy-cu───3*[{docker-proxy-cu}]]
            │                 └─9*[{dockerd-current}]
            ├─gssproxy───5*[{gssproxy}]
            ├─login───bash
            ├─lvmetad
            ├─master─┬─pickup
            │        └─qmgr
            ├─polkitd───6*[{polkitd}]
            ├─rpc.idmapd
            ├─rpc.mountd
            ├─rpc.statd
            ├─rpcbind
            ├─rsyslogd───2*[{rsyslogd}]
            ├─sshd─┬─sshd───bash───pstree
            │      ├─sshd───9*[sftp-server]
            │      └─2*[sshd───sftp-server]
            ├─systemd-journal
            ├─systemd-logind
            ├─systemd-udevd
            └─tuned───4*[{tuned}]
    [root@centos-04 nginx-1.14.0]# 

    文件倒序排列

    [root@centos-04 nginx-1.14.0]# ls -lt|head
    总用量 740
    drwxr-xr-x 2 1001 1001   4096 12月 25 15:53 conf
    drwxr-xr-x 4 root root   4096 7月  30 05:59 objs
    -rw-r--r-- 1 root root    376 7月  30 05:57 Makefile
    drwxr-xr-x 9 1001 1001     84 7月  25 00:14 src
    drwxr-xr-x 2 1001 1001     20 7月  25 00:12 man
    drwxr-xr-x 6 1001 1001   4096 7月  25 00:06 auto
    drwxr-xr-x 4 1001 1001     68 7月  25 00:06 contrib
    drwxr-xr-x 2 1001 1001     38 7月  25 00:06 html
    -rw-r--r-- 1 1001 1001 286953 4月  17 2018 CHANGES
    [root@centos-04 nginx-1.14.0]# 

     php-fpm配置文件

    配置php慢程序日志

    https://www.cmhello.com/php-fpm.html

    安装xhprof

    http://blog.chinaunix.net/uid-20622737-id-3820457.html

  • 相关阅读:
    数据结构:图(Graph)
    数据结构:图(Graph)
    sql中的左右关联、全关联、自关联
    sql中的左右关联、全关联、自关联
    Mathematical Functions (TransactSQL)
    Mathematical Functions (TransactSQL)
    数据库中SQL实现某列的乘积(SqlSERVER)
    数据库中SQL实现某列的乘积(SqlSERVER)
    devexpress表格控件gridcontrol设置隔行变色、焦点行颜色、设置(改变)显示值、固定列不移动(附源码)
    devexpress表格控件gridcontrol设置隔行变色、焦点行颜色、设置(改变)显示值、固定列不移动(附源码)
  • 原文地址:https://www.cnblogs.com/sunyujun/p/9297069.html
Copyright © 2020-2023  润新知