deban系统安装MicroK8s
apt update && sudo apt upgrade -y
apt install snapd
snap install core
unbantu
sudo snap install microk8s --classic
sudo snap alias microk8s.kubectl kubectl
sudo snap alias microk8s.ctr ctr
sudo snap alias microk8s.helm helm
sudo snap alias microk8s.helm3 helm3
MicroK8s 搭建步骤
关于mysql FIND_IN_SET 的性能
caiji_soft 5000条数据
select id FROM caiji_soft where FIND_IN_SET(21,tag) or FIND_IN_SET(32,tag)
OK
时间: 0.021s
关于or 和UNION ALL 的性能对比
当 www_92game_net_d_ecms_app表67472条的时候,性能对比
SELECT id FROM www_92game_net_d_ecms_app
where classid ='49' or newstime ='1577808000'
OK
时间: 0.174s
SELECT id
FROM www_92game_net_d_ecms_app
WHERE classid
= '49' UNION ALL ( SELECT id
FROM www_92game_net_d_ecms_app
WHERE newstime
= '1577808000' )
OK
时间: 0.109s
UNION ALL 在有复杂查询的时候,性能更加优秀,小表性能差不多
Thinkphp8 laravel加速方法
- 启用路由缓存
在 config/route.php 文件中启用路由缓存,可以减少路由匹配的时间。
return [
// 其他路由配置...
'url_cache' => true,
];
- 启用配置缓存
在 config.php 文件中启用配置缓存,将所有配置文件合并并缓存,减少文件读取和解析的时间。 - 数据库查询缓存
对于频繁查询且不经常变化的数据,可以使用查询缓存来提高性能。在数据库配置文件 config/database.php 中启用查询缓存。
return [
// 其他数据库配置...
'cache' => true,
];
- 启用 OPcache
确保 PHP 的 OPcache 已启用并正确配置。在 php.ini 文件中启用 OPcache。
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.max_accelerated_files=4000
opcache.save_comments=1
opcache.revalidate_freq=60
- 使用静态内容
将不经常变化的 CSS、JavaScript 和图片等静态资源缓存到客户端,通过设置合理的缓存头(Cache-Control)来实现。 - 数据压缩
使用 Gzip 或 Deflate 压缩输出内容,减少网络传输时间。在 Web 服务器配置中启用压缩输出。 - 优化模板
减少模板中的复杂逻辑和循环,尽量将逻辑处理放在 PHP 代码中,模板只负责展示。 - 使用 CDN
将静态资源部署到 CDN(内容分发网络),可以加快资源的加载速度,减少服务器压力。 - 数据库优化(很多)
使用合适的索引来加速查询。
定期清理和优化数据库表。
避免使用 SELECT *,只查询需要的字段。
- 使用 HTTP/2
如果可能,使用 HTTP/2 协议,它提供了多路复用、头部压缩等特性,可以显著提高页面加载速度。 - 调整 PHP-FPM 配置
如果你使用 PHP-FPM,可以调整其配置来提高性能。例如,增加 pm.max_children、pm.start_servers、pm.min_spare_servers 和 pm.max_spare_servers 的值,以适应更高的并发负载。 - 使用缓存服务器
使用 Redis 或 Memcached 作为缓存服务器,可以显著提高读写性能,特别是对于频繁访问的数据。 - 避免不必要的插件和扩展
禁用或卸载不必要的插件和扩展,减少系统开销。 - 使用性能分析工具
使用 Xdebug、Blackfire 或其他性能分析工具来检测瓶颈,并针对这些瓶颈进行优化。
什么是子网掩码
子网掩码(Subnet Mask)是计算机网络中的一个重要概念,它用于区分 IP 地址中的网络部分和主机部分。子网掩码是一个 32 位的二进制数字,通常以四组十进制数字表示,每组数字之间用点号分隔。例如,255.255.255.0 是一个常见的子网掩码。
(同一个网络地址可以互相通讯,同属一个局域网(LAN))
问:IPv4 地址: 172.30.208.1 子网掩码 : 255.255.240.0 可以有多少个子网多少个设备?
子网掩码 255.255.240.0 转换为二进制是 11111111.11111111.11110000.00000000。在这个二进制表示中,前 20 位是网络部分,剩下的 12 位是主机部分。这意味着子网掩码有 20 位是 1,12 位是 0。
(ps:网络地址20+主机地址12)
计算子网数量:
子网数量取决于子网掩码中主机部分的位数。
在这个例子中,主机部分有 12 位。
子网数量 = 2^12=4096。
计算每个子网中的设备数量:
每个子网中的设备数量取决于子网掩码中主机部分的位数。
在这个例子中,主机部分有 12 位。
每个子网的设备数量 = 2^12−2=40942 (减去 2 是因为网络地址和广播地址不能被设备使用)。
因此,使用子网掩码 255.255.240.0 的 IPv4 地址 172.30.208.1 可以有 4096 个子网,每个子网可以有 4094 个设备。