前言

面试官经常会问平时访问正常的网页突然变慢是什么原因引起的,说明下你排查的思路;我认为这种问题很能考察一个人的综合知识面,既能融通的贯彻知识点,也能展看对每个知识点进行详细的考问。

下面我按我自己理解的思路来整理下(若有补充请留言)

1、是否服务器的出口的带宽不够,可能突然访问量过大,并发比较高造成带宽不够用

2、如果你平时浏览正常的web加载不出来,稍微等会看看是不是出现类似404、502等这种错误大体可以判断是哪个位置出现了错误

404:(未找到) 服务器找不到请求的网页;看下服务端路径是否正确或存放web的文件是否被删除等

502 :(错误网关) 服务器作为网关或代理,从上游服务器收到无效响应;用ping看下能不能ping通服务器

(https://blog.csdn.net/github_38524608/article/details/79127386)

3、若没有明显的报错或者就是慢用tarcert命令查看下哪个节点是否有问题

4、如果网络方面没有问题只能是服务器端的问题。这时你可以通过一下命令查看服务器状态

top 查看cpu

free 查看内存

df -h 查看磁盘

ps aux | grep pid  看下运行高的pid是什么服务

netstat -an 查看进程 :netstat -ntu |grep 8080|grep TIME_WAIT |wc  -l  查看是否有大量tcp等待  修改这个参数:/etc/sysctl.conf  net.ipv4.tcp_max_tw_buckets = 3000

5、select count(*) from v$process 查看数据链接数 ;select value from v$parameter where name = 'processes' 查看数据库最大链接数

修改数据库最大连接数:alter system set processes = 1000  scope = spfile;

show variables like 'max_connections';(查可以看当前的最大连接数)  set global max_connections=1000;(设置最大连接数为1000,可以再次查看是否设置成功)

第二种:通过修改配置文件来修改mysql最大连接数(max_connections)。

这种方式说来很简单,只要修改MySQL配置文件my.ini 或 my.cnf的参数max_connections,将其改为max_connections=1000,然后重启MySQL即可。但是有一点最难的就是 my.ini这个文件在哪找。通常有两种可能,一个是在安装目录下,另一种是在数据文件的目录下,安装的时候如果没有人为改变目录的话,一般就在 C:/ProgramData/MySQL往下的目录下,linux系统中一般在/etc目录下。

5、是否代码有问题,比如具体的代码需要优化是否可以用比较简单的实现的功能实际代码量太大;mysql语句是否过于复杂,是否可以加下索引,是否mysql容量比较大了了,数据库是否锁死了等原因

6、服务框架是否可以改进下;加redis等缓存,数据库读写分离、动静分离架构;ngins反向代理负载均衡

面试题之web访问突然延迟问题的更多相关文章

  1. Web开发基本准则-55实录-Web访问安全

    Web开发工程师请阅读下面的前端开发准则,这是第一部分,强调了过去几年里我们注意到的Web工程师务须处理的Web访问安全基础点.尤其是一些从传统软件开发转入互联网开发的工程师,请仔细阅读,不要因为忽视 ...

  2. 机器数据的价值 - Web 访问日志和数据库审计日志

    计算机数据 大量的数据流,不断增长的来源,蕴含着巨大的价值 在 Splunk,我们大量谈及计算机数据.这些数据是指在数据中心.“物联网”和互联设备世界中运行的所有系统产生的数据.其中包括支撑组织的应用 ...

  3. 此项目的默认Web访问模式设置为文件共享, 但是无法从路径(此为转贴)

    故障现象: 当你打开ASP.NET Web项目时,如果出现这样的错误提示:提示窗口标题: Web访问失败提示内容: 此项目的默认Web访问模式设置为文件共享, 但是无法从路径“...”打开“...”处 ...

  4. 可视化分析 web 访问日志

    内容目录 Python 基础 使用模块介绍 可视化组件 echarts 介绍 Web 访问日志 代码解读 讲师:KK 多语言混搭开发工程师,多年 PHP.Python 项目开发经验,曾就职 360.绿 ...

  5. VMWare虚拟机下CentOS 配置网络实现远程连接,提供Web访问

        最近使用VMWARE虚拟机当中redhat操作系统,感觉直接使用很不方便,于是就决定配置下redhat网络,通过本机远程工具SecureCRT来连接redhat使用.     环境说明:本机操 ...

  6. 利用nginx加速web访问

    起因---------- 在最近新系统的设计中对于首页打开速度的问题做了一些考虑,由于页面上还是以动态数据为主,所以简单的静态化数据可能并不行,所以需要从业务和技术结合的角度去考虑这个问题.由于有些数 ...

  7. 【centos 7】搭FTP服务和web访问

    步骤:安装 vsftpd-->增加用户-->配置vsftpd和用户权限 -->配置iptables 安装httpd,开放http访问 /var/tmp/user1下目录 1.安装和用 ...

  8. 部署 Windows PowerShell Web 访问

    部署 Windows PowerShell Web 访问 适用对象:Windows Server 2012, Windows Server 2012 R2 Windows PowerShell® We ...

  9. linux下测试web访问及网络相关的命令

    curl命令 curl是linux系统命令行下用来简单测试web访问的工具. curl -xip:port www.baidu.com    -x可以指定ip和端口,省略写hosts,方便实用 -I  ...

随机推荐

  1. 深度学习面试题13:AlexNet(1000类图像分类)

    目录 网络结构 两大创新点 参考资料 第一个典型的CNN是LeNet5网络结构,但是第一个引起大家注意的网络却是AlexNet,Alex Krizhevsky其实是Hinton的学生,这个团队领导者是 ...

  2. 教你如何使用QBDI动态二进制检测框架

    工具介绍 QBDI 全名为 QuarkslaB Dynamicbinary Instrumentation,它是一个模块化的跨平台以及跨架构的 DBI 框架.该工具目前支持 Linux.macOS.A ...

  3. pypy

    #coding:utf-8 import requests,codecs import json import re import os, shutil import urllib.request, ...

  4. Flutter 中AlertDialog确认提示弹窗

    import 'package:flutter/material.dart'; import 'dart:async'; enum Action { Ok, Cancel } class AlertD ...

  5. Angular中使用ECharts图表

    1.安装: npm install echarts --save 2.在 TypeScript 文件中导入echarts import * as echarts from 'echarts'; 3.根 ...

  6. 一、jenkins下载及安装

    一.安装 官网地址:https://jenkins.io/zh/ 1.下载war包,放到tomcat——>webapps下,双击bin——>startup.bat启动 2.打开命令提示符. ...

  7. ES6深入浅出-4 迭代器与生成器-3.生成器 & for...of

    迭代器平时用的很少.但是如果你是写框架的,你会经常用到迭代器. 生成器是专门用来做迭代器的东西 发布器是要产生一个叫做next的对象,如果你要产生这种对象.就可以使用ES6新出的语法. ES6的新语法 ...

  8. (?:pattern) 与 (?=pattern)的区别

    共同点 (?:pattern) 与 (?=pattern)都匹配pattern,但不会把pattern结果放到Matches的集合中. 区别 (?:pattern) 匹配得到的结果包含pattern. ...

  9. ABAP函数篇2 测试DATE_CONVERT_TO_FACTORYDATE

    DATE_CONVERT_TO_FACTORYDATE   根据日期返回工厂日历日期 函数功能说明: 标出工作日的计算方法 输入传输 CORRECT_OPTION = '+'如果指定的日期不是工作日, ...

  10. spring 加载属性(properties)文件

    在开发的过程中,配置文件往往就是那些属性(properties)文件,比如使用properties文件配置数据库文件,又如database-config.properties 代码清单:databas ...