tomcat的优化和动静分离
tomcat的优化

1.tomcat的配置优化

2.操作系统的内核优化

注意:设置保存后,需要重新ssh连接才会看到配置更改的变化
vim /etc/security/limits.conf
# 65535 为Linux系统最大打开文件数
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535: 最大进程数软限制为 65535,即可以使用 ulimit -u 命令查看和修改的值。
* hard nproc 65535: 最大进程数硬限制为 65535,即最大可分配的进程数。
* soft nofile 65535:最大打开文件数软限制为 65535,即可以使用 ulimit -n 命令查看和修改的值。
* hard nofile 65535:最大打开文件数硬限制为 65535,即最大可分配的文件数。
这里使用的通配符 * 表示对所有用户生效。
其他调试内核参数的查看: sysctl -a
kernel.sysrq = 0: 禁用了内核的SysRq功能,SysRq允许在系统崩溃或出现问题时执行一些调试操作。
kernel.core_uses_pid = 1: 设置核心转储文件名中包含进程ID,有助于标识是哪个进程导致了核心转储。
kernel.msgmnb 和 kernel.msgmax: 增加IPC消息队列的默认和最大大小,用于进程间通信。
kernel.shmmax 和 kernel.shmall: 调整共享内存的最大大小和分配页面数。
net.ipv4.ip_forward = 0: 禁用IP数据包的转发功能,通常用于不充当路由器的系统。
net.ipv4.conf.default.rp_filter 和 net.ipv4.conf.all.rp_filter: 控制反向路径过滤,提高网络安全性。
net.ipv4.icmp_echo_ignore_all: 允许或禁止系统响应ping请求。
net.ipv4.icmp_echo_ignore_broadcasts: 禁止系统对广播和多播地址的ICMP回显和时间戳请求作出响应。
net.ipv4.conf.default.accept_source_route: 不接受源路由,增加网络安全性。
net.ipv4.tcp_syncookies = 1: 启用SYN Cookies,保护系统免受TCP SYN 攻击。
net.ipv4.tcp_max_tw_buckets = 6000: 设置允许的TIME_WAIT套接字最大数量,避免服务器性能下降。
net.ipv4.tcp_sack = 1: 启用有选择的应答(SACK)来提高TCP性能。
net.ipv4.tcp_window_scaling = 1: 启用TCP窗口缩放功能,允许大窗口的TCP传输。
net.ipv4.tcp_rmem, net.ipv4.tcp_wmem: 调整TCP套接字读取和写入缓冲区大小。
net.ipv4.tcp_mem: 设置TCP缓冲区的最小、默认和最大值。
net.core.wmem_default, net.core.rmem_default, net.core.rmem_max, net.core.wmem_max: 调整网络核心
缓冲区的大小。
net.core.netdev_max_backlog: 控制网络接口接收数据包的排队队列大小。
net.ipv4.tcp_max_orphans: 设置系统允许的孤立TCP连接最大数量。
net.ipv4.tcp_max_syn_backlog: 控制系统允许的三次握手队列长度。
net.ipv4.tcp_synack_retries 和 net.ipv4.tcp_syn_retries: 设置SYN-ACK和SYN请求的重试次数。
net.ipv4.tcp_tw_recycle 和 net.ipv4.tcp_tw_reuse: 启用TIME_WAIT套接字快速回收和重用。
net.ipv4.tcp_fin_timeout: 设置TCP连接FIN(关闭连接)的超时时间。
net.ipv4.tcp_keepalive_time: 设置TCP keepalive探测包发送频率,以检测连接状态。
net.ipv4.ip_local_port_range: 设置本地端口范围,用于分配本地应用程序端口。
net.ipv6.conf.all.disable_ipv6 和 net.ipv6.conf.default.disable_ipv6: 禁用IPv6。
net.netfilter.nf_conntrack_max 和其他 net.netfilter.nf_conntrack_*: 控制连接跟踪和防火墙相关设置。
net.nf_conntrack_max: 设置最大连接跟踪项数。
vm.overcommit_memory = 0: 控制内存超额分配策略,避免OOM killer杀掉进程。
vm.swappiness = 0: 设置内存交换行为,降低内存交换。
fs.file-max = 999999: 设置进程可以同时打开的最大文件句柄数。
net.ipv4.tcp_max_tw_buckets = 6000: 设置操作系统允许的TIME_WAIT套接字最大数量。
net.ipv4.ip_local_port_range = 1024 65000: 设置系统允许的本地端口范围。
net.ipv4.tcp_tw_recycle = 1: 启用TIME_WAIT套接字快速回收。
net.ipv4.tcp_tw_reuse = 1: 允许TIME-WAIT套接字重用。
net.ipv4.tcp_syncookies = 1: 启用SYN Cookies,防止TCP SYN 攻击。
net.core.somaxconn = 40960: 设置最大监听队列长度,用于控制最大并发连接数。
net.core.netdev_max_backlog = 262144: 设置每个网络接口接收数据包队列的最大大小。
net.ipv4.tcp_max_syn_backlog = 262144: 设置接受SYN请求队列的最大长度。
net.ipv4.tcp_rmem, net.ipv4.tcp_wmem: 设置TCP套接字读取和写入缓冲区的最小、默认和最大大小。
net.core.rmem_default, net.core.wmem_default, net.core.rmem_max, net.core.wmem_max: 设置内核套接字接收和
发送缓冲区大小。
3.jvm调优

内存


ajp-nio-8009是什么

tomcat的动静分离

配置静态页面
配置nginx反向代理


可以访问静态页面

配置完后重启
systemctl restart nginx.service
配置动态页面
配置tomcat的server.xml
<Host name="www.test1.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"><Context docBase="/usr/local/tomcat/webapps/test1" path="" reloadable="true" />
</Host><Host name="www.test2.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"><Context docBase="/usr/local/tomcat/webapps/test2" path="" reloadable="true" />
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test1 page</title>
</head>
<body>
<% out.println("动态页面 1,http://www.test1.com");%>
</body>
</html>




配置完后重启
./shutdown.sh
./startup.sh
可以访问动态页面

相关文章:
tomcat的优化和动静分离
tomcat的优化 1.tomcat的配置优化 2.操作系统的内核优化 注意:设置保存后,需要重新ssh连接才会看到配置更改的变化 vim /etc/security/limits.conf # 65535 为Linux系统最大打开文件数 * soft nproc 65535 * hard nproc 65535 * soft nofile 65535 *…...
[ShaderLab] 【Unity】【图像编程】理解 Unity Shader 的结构
在计算机图形学领域,开发者经常面临着管理着色器复杂性的挑战。正如大卫惠勒(David Wheeler)所说:“计算机科学中的任何问题都可以通过增加一层抽象来解决。” Unity 提供了这样一层抽象,即 ShaderLab,它通过组织和定义渲染过程的各个步骤,简化了编写着色器的过程。 什…...
vue的前端架构 介绍各自的优缺点
Vue.js 是一个用于构建用户界面的渐进式框架,可以根据项目的复杂性和需求选择不同的前端架构。以下是几种常见的 Vue 前端架构及其优缺点: 1. 单页应用 (SPA) 单页应用(Single Page Application,简称 SPA)是一种现代…...
可信AI与零知识证明的概念
可信AI 可信AI是指人工智能的设计、开发和部署遵循一系列原则和方法,以确保其行为和决策是可靠、可解释、公平、安全且符合人类价值观和社会利益的.以下是关于可信AI的举例说明、实现方式及主流方案: 举例说明 医疗诊断领域:一个可信AI的医疗诊断系统,不仅能够准确地识别…...
JavaScript逆向时,常用的11个hook
提示:记录工作中遇到的需求及解决办法 文章目录 前言01、dom操作02、Cookie操作03、事件监听操作04、AJAX拦截操作05、函数替换操作06、Header操作07、URL操作08、JSON.stringify操作09、JSON.parse操作10、eval操作11、Function操作前言 在逆向分析JavaScript代码时,开发者…...
PCL点云库入门——PCL库可视化之CloudViewer类简单点云信息显示
1、前言 可视化(visualization)涉及运用计算机图形学和图像处理技术,将数据转换成图像并在屏幕上展示,同时支持交互式处理。在PCL库中,一系列强大的可视化工具可供使用,其中较为流行的包括CloudViewer和PCL…...
C++ 【衔接篇】
大名鼎鼎的c实际上是由c语言扩展而来的,它最初是由本贾尼在20世纪80年代开发。目的是支持面向对象编程,同时保持c语言高效和可移植等优点。c是c的扩展,在一定程度上解决了c语言在特殊场景下的使用局限。 1、命名空间 在详细说明命名空间之前…...
qcreator 调试原理
在 Qt 开发中,Qt Creator 是一个集成开发环境(IDE),用于开发 Qt 应用程序。Qt Creator 提供了强大的调试功能,可以帮助开发者高效地调试 C、QML 等语言的应用程序。Qt Creator 支持多种调试工具,包括基于 G…...
Windows 系统中的组策略编辑器如何打开?
组策略是 Windows 操作系统中用于设置计算机和用户配置的重要工具。它允许管理员控制各种系统功能,从桌面背景到安全设置等。对于 Windows 专业版、企业版和教育版用户来说,可以通过组策略编辑器(Group Policy Editor)来管理这些设…...
scala的泛型类
泛型:类型参数化 泛型类指的是把泛型定义到类的声明上, 即:该类中的成员的参数类型是由泛型来决定的. 在创建对象时, 明确具体的数据类型. 定义格式: class 类名(成员名:数据类型) class 类名[泛型名](成员名:泛型名) 参考代…...
基于Couchbase的数据构建方案:数仓分层
初步方案是将公共层和报表层分别放在不同的bucket中,这种设计从存储和访问优化的角度是合理的,但仍有以下细节需要考虑: 1. 数仓公共层设计(origin bucket) 合理性分析: 将ODS、DWD、DWS层的数据放在一个b…...
信创改造-Spring Boot 项目部署至 TongWeb
打 war 包参考:https://blog.csdn.net/z1353095373/article/details/144330999...
supervision - 好用的计算机视觉 AI 工具库
Supervision库是一款出色的Python计算机视觉低代码工具,其设计初衷在于为用户提供一个便捷且高效的接口,用以处理数据集以及直观地展示检测结果。简化了对象检测、分类、标注、跟踪等计算机视觉的开发流程。开发者仅需加载数据集和模型,就能轻…...
程序的调试
一名优秀的程序员也是一名出色的侦探,每一次调试都是尝试破案的过程 目录 前言 一、什么是调试? 二、调试 1.调试是什么 2.基本步骤 三、调试注意事项 1.怎么写出易于调试的代码 assert(断言) const 2.常见错误 总结 前言 主要是怎么调试,调…...
使用html 和javascript 实现微信界面功能2
1.功能说明: 对上一篇的基础上进行了稍稍改造 主要修改点: 搜索功能: 在搜索框后面增加了搜索按钮。 搜索按钮调用performSearch函数来执行搜索操作。 表单形式的功能: 上传文件: 修改为表单形式,允许用户通过文件输入控件选择文件并上传。 …...
虚幻引擎Actor类生命周期
AActor构造函数 在AActor类的构造函数中,虚幻引擎会初始化与该Actor相关的一些关键属性,比如: 默认的组件(如RootComponent、MeshComponent等)。默认的属性设置,例如位置、旋转、缩放等。还会调用BeginPlay等生命周期函数,但在构造函数中,这些函数不会执行。当你在场景…...
记录2024-leetcode-字符串DP
10. 正则表达式匹配 - 力扣(LeetCode)...
爬虫获取的数据如何有效存储和管理?
爬虫获取的数据如何有效存储和管理,涉及到数据的采集、存储、清洗、分析和保护等多个方面。以下是一些关键步骤和最佳实践: 1. 数据采集与同步 API接口同步:通过API接口将数据从数据源传输到目标位置,并保持数据的一致性和完整性…...
[Unity] AppLovin Max接入Native 广告 IOS篇
NativeIOS构建流程 (接入之前备份之前打包得Xcode工程) 下载资源 1.将以下文件放入Unity Assets->Plugins->IOS文件夹下 2.Unity更新max版本至12.4.1 UnityPlugin 6.4.3以上(很重要) 3.NativeSDKManager.CS根据以下附…...
康耐视智能相机(Insight)通过ModbusTCP发送字符串到倍福(BECKHOFF)PLC中
文章目录 1.背景2.分析3.实现3.1.PLC的ModbusTCP_Server3.1.1.安装TF6250-Modbus-TCP3.1.2.PLC设置 3.2.智能相机的ModbusTCP_Client3.2.1.了解ModbusTCP的协议3.2.2.根据协议写代码3.2.2.1.纯函数代码3.2.2.2.脚本代码 3.2.3.非脚本处理时的代码逻辑图3.2.4.关于代码的问题及解…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...
[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
