DevsDawn
DevsDawn

DevsDawn

Linux下swap的配置和使用

swap是Linux系统中的一种虚拟内存技术,它可以在物理内存不足时,将一部分硬盘空间作为内存使用,从而提高系统的性能和稳定性。本文将介绍如何在Linux下配置和使用swap。 配置swap 配置swap有两种方式,一种是使用分区,一种是使用文件。使用分区的优点是速度快,缺点是需要预留硬盘空间;使用文件的优点是灵活,缺点是速度慢。下面分别介绍这两种方式。 使用分区 如果你在安装Linux时已经为swap分配了一个分区,那么你可以直接跳过这一步。如果没有,你可以使用fdisk或者其他工…

2023-07-07  

MySQL Incorrect key file for table 报错排查

近期一个项目在运行过程中数据库经常出现Incorrect key file for table 'xxx.MYI'; try to repair it. MySQL Errno: 126的错误,导致项目完全无法正常运行。业主急死,打了十几个电话过来,被迫在下班的路上继续加班:joy:。 首先通过搜索找到了这两种可能性: 一种可能的原因是您的查询获取的数据大于您的/tmp文件夹(即用于存储临时表的文件夹)的大小。解决方法是更改/tmp文件夹的位置,或者增加/tmp文件夹的空间。 另一种可能的原因是表损坏。解决方法是重新创建或修复…

2023-06-12  

DigitalOcean 2023年最新官方测速地址列表

DigitalOcean是一家知名的云计算基础设施提供商,成立于2011年,总部位于美国纽约,专注于为开发者、初创公司和中小企业提供云基础设施平台。DigitalOcean已于2021年3月上市,具有一流的稳定性、易用性和安全性,可放心用于运行如电商平台等企业级业务负载。 DigitalOcean在全球范围内提供了数十个地域的数据中心,本文提供最新的DigitalOcean数据中心地址列表,可用于速度测试Speedtest,帮助大家寻找适合自身业务的最优数据中心。 上次更新:2023-08-07 由于DigitalOcean官方…

2023-01-02  

DigitalOcean 2022年最新官方测速地址列表

DigitalOcean是知名的云计算基础设施提供商,成立于2011年,专注于为开发者、初创公司和中小企业提供云基础设施平台。其已于2021年3月上市,具有一流的稳定性、易用性和安全性,可放心用于运行企业级业务负载。 DigitalOcean在全球范围内提供数十个地域的数据中心可供选用,本文提供最新的DigitalOcean数据中心地址列表,可用于速度测试,寻找适合自身业务的最优数据中心。 上次更新:2022-12-23 2023更新版:https://devsdawn.com/2023/01/digitalocean-2023-latest-speed-test-li…

2022-12-23  

修改已有Docker容器的DNS

在Docker中,如果创建容器时没有指定相关参数,etc/docker/daemon.json中也没有进行相关配置的话,容器的DNS配置默认复制宿主机的配置。 容器创建后,即使宿主机修改了DNS,容器的DNS配置仍然会保持创建时的状态,不会跟随宿主机的修改。 如需修改容器DNS,有以下两种方法: 1. 进入容器手动修改/etc/resolv.conf 通过docker exec -it <name> /bin/bash进入容器,手动修改/etc/resolv.conf文件。 2. 宿主机修改对应容器的配置文件 首先通过docker ps确定容器id,记为cont…

2022-12-15  

解决MySQL in select子查询无法使用索引问题

近期在编写一个业务逻辑,需要从订单表中找出所有手机号属于某一个用户的订单,而每个用户可关联多个手机号,于是有以下的查询语句: select * from mall_order where phone in (select phone from user_phone where user_id = #{id]}) 以上mall_order表的phone字段和user_phone的user_id字段均已添加索引。 然而,通过对以上语句explain后发现索引失效,语句对mail_order进行了全表查询,并没有使用到已经添加的phone索引。 经过排查,发现mall_order表和user_phone表的phone字…

2022-12-07  

Linux SSH设置超时自动断开连接

Linux的SSH会话默认没有登录超时时间限制,为了避免运维人员完成运维工作后忘记断开SSH连接,提高服务器的安全性,有时候我们希望Linux的SSH会话能在用户空闲一段时间没有操作后自动断开连接,可使用以下方式。 编辑/etc/profile文件,末尾加入以下内容: # 超时时间,这里设置为3600秒(1小时) export TMOUT=3600 # 设置只读,防止参数被手动修改 readonly TMOUT 保存并退出,该配置会对后续的新会话生效。也可以使用以下指令立即对当前会话生效: source /etc/profile 使用…

2022-12-03  

解决easyexcel导出表格慢问题

近期一个项目中出现使用easyexcel导出表格非常慢的情况。数据量约10w行,50个列,排除从数据库取出和处理数据的时间,调用ExcelWriterBuilder的doWrite方法后需要1分多钟的时间才能够生成好文件,导致客户端经常请求超时,无法顺利导出文件。 通过排查,发现项目之前的开发封装的导出类在导出时使用了LongestMatchColumnWidthStyleStrategyhandler,该handler会根据表格内宽度最大的单元格自动设置列宽,而该功能需要遍历所有单元格的数据来计算宽度来实现,因而十分耗费性能和时间…

2022-11-09  

Vue项目ChunkLoadError报错解决

问题信息 近期项目出现大量以下这种类型的报错,显示该js文件找不到,并且用户反馈点击后整个页面卡住,但是刷新页面后就不会再报错: ChunkLoadError Loading chunk chunk-9f35075c failed. (missing: https://***.com/js/chunk-9f35075c.4032e0dc.js) 以及下面这种报错: SyntaxError Unexpected token '<' 问题分析 尝试直接访问该链接,也是出现文件不存在的情况,而被伪静态规则转发访问到首页,chunk loader加载后发现不是正确的js文件,报…

2022-10-29  

小程序setStorageSync:fail write DB data fail报错问题处理

微信小程序线上报出以下错误: Error: MiniProgramError APP-SERVICE-SDK:setStorageSync:fail write DB data fail Error: APP-SERVICE-SDK:setStorageSync:fail write DB data fail 客户端手机型号和系统版本为iPhone 12(iOS 14),微信版本为8.0.29,SDK版本为2.27.0,经搜索得知wx.setStorageSync在部分微信苹果客户端上有几率出现本地数据库损坏,导致报出以上的错误。 虽然该公告显示7.0.7以前的版本才存在这个问题,但是社区里也有部分开发者反馈在8.0.x版本中也有出现过此…

2022-10-24  

2022年10月Vultr最新优惠 新用户送100刀

Vultr成立于2014年,是美国一家知名的云计算服务提供商,Constant公司的旗下品牌。Vultr为客户提供了27个地域的数据中心可供选择,这个数量是云服务提供商中数一数二的,更支持部署BGP将流量就近分发到不同地域,极大地满足了客户全球部署的需要。 Vultr给新用户提供了特别优惠,新用户注册后可获得100美元体验金来体验平台内的服务。 在中国附近,Vultr提供有新加坡、日本东京、韩国首尔等节点,在国内访问均有着较低的延迟,可以通过Vultr官方提供的Looking Glass网站测试,选择…

2022-10-23  

2023年3月DigitalOcean优惠 注册送200美元

DigitalOcean是知名的云计算基础设施提供商,成立于2011年,专注于为开发者、初创公司和中小企业提供云基础设施平台。 DigitalOcean公司已于2021年3月在纽约证券交易所上市,股票代码:DOCN。 注:2023年3月,本优惠依然有效。 新用户注册送200美元 DigitalOcean为新用户提供了特别优惠活动,新用户注册账号即可获得$200美元赠金,可以用于购买平台内的云主机、云数据库等服务,赠金有效期为60天。 >> 点击领取DigitalOcean新用户200美元赠金 此活动无需填写优惠码、手动领取优…

2022-10-05  

修复date-fns-tz导入失败问题

在执行yarn build打包node项目时,出现以下错误: [vite]: Rollup failed to resolve import "date-fns/_lib/cloneObject/index.js" from "node_modules/date-fns-tz/esm/formatInTimeZone/index.js". This is most likely unintended because it can break your application at runtime. If you do want to externalize this module explicitly add it to `build.rollupOptions.external` error during build: Error: [vite]: Rollup failed to resolve import "date-fns/_lib/clon…

2022-09-23  

解决23:59:59.999时间存入MySQL变为00:00:00问题

问题 在使用Hutool的DateUtil.endOfDay方法时,生成的时间戳为2022-09-23 23:59:59.999,在写入MySQL数据库后字段值会变为2022-09-24 00:00:00。 原因 TIMESTAMP类型字段存储精度默认精确到秒,在存入带有毫秒数据时,毫秒数大于500时会自动进位。同理,DATETIME类型默认也是精确到秒的: UPDATE `test_table` SET `test_time` = '2022-09-23 23:59:59.999' WHERE `id` = 1; // 2022-09-24 00:00:00 UPDATE `test_table` SET `test_time` = '2022-09-23 23:59:59.499' WHERE `id…

2022-09-19  
https://devsdawn.com/wp-content/uploads/2020/01/TIM截图20200109163548.jpg

防御Source Engine Query泛洪攻击(三)

上一篇文章《防御Source Engine Query泛洪攻击(二)》介绍了将被攻击的端口短暂封禁的方法,以避免服务器因响应查询包发送大量数据影响服务器的上行带宽,但这种方法也会导致正常玩家在端口遭受DDoS攻击时无法搜索到服务器,本文将介绍使用白名单的方法来实现降低服务器在攻击时无法被正常玩家搜索到的几率。 由于UDP数…

2022-09-10  
加载更多