2019独角兽企业重金招聘Python工程师标准>>>

服务器内存就512M,Access数据库(文章库)600多M,结果竟然就是IO受伤了。

早些年写秋色园技术原理解析系列,园里不少看过的帅歌,应该有点印象,从开始到现在,还是铁打的Access数据库。

虽然本人目前对Access恨入之骨,皆因囊中羞涩,暂时不得不与之同流合污。

忙碌微博粉丝精灵几个月来,秋色园一直运行正常,除了远程界面都变的很卡之外,基本上也没发现什么异常。

然而这个隐藏多年的内伤,如果不是那一天,客服把我服务器给关机了,估计到现在也没察觉,让IO受伤了好几个月了。

以下是故事的过程,有兴趣扫一眼,没兴趣直接拉到后面看结果:

就在那天,服务器让客服给直接关机了,理由是:CPU持续三小时100%,IO磁盘每秒读写50M,为不影响其它用户,直接给关了,让处理完再开机。

前面的CPU百分百是忽悠我的,因为你对客户说,因磁盘读写问题而关机,比较悬,如果说CPU满了而关机,都直观容易理解。

不过,因为刚才我还在看着服务器,CPU正常,根本不可能持续三小时百分”(当然了,偶尔应用程序池刚重启时,瞬时十来秒上到100%这个我知道,由于是短暂的,我一直没查明真相)我让客服给我截图,并恢复开机,我说CPU我会处理。

神奇的客服,给我截了另一张图,说我磁盘读写超标,让我处理完再开机。

从这图看的出来,这台服务器上至少挤了好几十个VPS用户了。

磁盘读写超标,是件很悬的事件,首先这超标的标准是什么?硬盘每秒读写速率达到多少才算超标?这超标又怎么影响到其它用户了?

当然了,谁家的网站不经常读写IO呢,这VPS就这么丁点内存,肯定重点就会转发到硬盘去了,习惯性思维以为是自己的程序问题,因为实在平时对磁盘读写没怎么在意,好像开发这么久,还没怎么和磁盘的负载扯上关系,这一块是一片空白。

于是,当开机后,用户一张一张的截图,说让我处理,着实把我弄急了:

没办法,我只好暂时把秋色园网站停止,说我要去吃饭了(八九点还不让人吃饭),然后问客服,降下来没有,客服说:我看到依然还是有问题 。 我先断开你的网络把,你吃完饭后回来 联系我处理。

我急了,肯定不能断开网络了,毕竟微博粉丝精灵服务还在运行,没办法,我下了下手,把粉丝精灵服务也给关了,问,现在正常了没有,客服又来一张图说:现在正常一些了 0.59是1分钟内的负载,1.68是五分钟内的平均负载

我特纠结,服务器一共就两网站,这全都关了,你只是正常了点,靠,直接把远程密码发给对方,你去折腾,我去吃饭。

快速吃完回来问客服情况怎样,对方三弄几弄,说正常了,我问弄什么了,对方说:“App_Data 这个目录 我随便改了名字。   除此之外 我都没有动 ”。

这目录下就放着数据库,我说难道和数据库有关?里面有一个数据库600多M(文章表)。

客服说可能,但不确定。

于是我把秋色园解析解到其它地方,然后再开启网站,自己访问一下,才刚开,客服马上问我干啥了,负载又上去了,弄的我只好网站又停了,停了还没用,客服一样叫高,接着又来一张图:

说实在,我都不明白这些代表啥意,于是问了,这些怎么看,对方回答“高于 1 即资源超载,三个数字1分钟,5分钟,10分钟内的系统平均负载”。

我纠结了:不占cpu,不占内存,不占带宽,如果磁盘也不占,这网站怎么折腾?

还有这磁盘,是读高,还是写高?

对方答复“只能看一个系统分析值 ,就是VPS虚拟化自带的分析图”。

接下来,我又把数据库的文件夹给改名了,看似得到的回复是正常了,瞬时好似问题的根源,就在于600多M的Access数据库上。

结果:

后续的问题,就是把它分成了10个库,用的CYQ.DBImport在远程直接操作分库,改了下算法,终于,客服不再叫了,远程操作变流畅了。

多年隐藏的内伤表现:

当Access的数据库大小超过内存的大小时,相关问题主要表现在磁盘读写超标(这个正常没法知道)。

内伤一:界面影响特卡(可能会以为是CPU或内存问题)。

内伤二:还会影响到其它VPS用户(这个更不可能得知了)。

伤三:同时应用程序池重启变慢(会误以为是程序写的不好)。

内伤四:内存占用明显上去了(误以为缓存了Html导致的)。

为此,Access虽然上限是2G,具体还得看你内存有多少,通常硬件不佳内存小才用Access,因此在使用时,量力而大!!!

转载于:https://my.oschina.net/secyaher/blog/274044

当内存512遇上Access数据库600M,IO磁盘受伤了相关推荐

  1. mysql爆内存_线上MySQL数据库机器内存爆掉原因分析与解决

    本文主要向大家介绍了线上MySQL数据库机器内存爆掉原因分析与解决,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 现象: 阿里金融某业务的MySQL机器的内存每隔几天就会增长,涨 ...

  2. dwcs6连接不上access数据库_dw连接access数据库步骤

    dw连接access数据库步骤 (2010-11-22 10:36:12) 标签: it 分类: SQL 连接分两种情况.如果你只是测试自己做的网站,不需要传到服务器上面,就直接使用计算机上的驱动程序 ...

  3. 当mybatis逆向工程遇上了数据库字段增加

    最近做的一个项目让我对mybatis的逆向工程有些迷茫,毕竟第一次在实际项目中使用,有太多稚嫩,老人路过还请指教. 对于mybatis的逆向工程,我既喜欢它让我省了很多力气,但是另一方面,它也给我套了 ...

  4. dwcs6连接不上access数据库_在DW中实现与ACCESS数据库连接方法

    新建一动态站点,新建一动态网页.执行"窗口"-->"数据库",打开数据库面板,单击"+"号,选择"自定义连接字符串" ...

  5. 谈用Access数据库做服务器

    在下前段时间用Delphi做了一个单机版的软件,数据库用Access,开发过程比较顺利.怎知世事难预料,有天客户提出要在网络环境下运行此软件! 相信很多朋友都遇到此类问题.现在有3条路可以走,一条是将 ...

  6. 理想汽车×OceanBase:当造车新势力遇上数据库新势力

    6 月 21 日晚 20:00,理想发布了 2022 年的旗舰车型 L9.三维空间交互.超强计算平台.五屏视听系统.AD Max 旗舰级智能驾驶......作为一款大型家庭智能旗舰全尺寸 SUV,不论 ...

  7. access文件放置服务器,怎么把access数据库放服务器上

    怎么把access数据库放服务器上 内容精选 换一换 云服务器备份:云服务器备份可以对普通服务器进行整机备份或部分磁盘备份,不适用于部署了数据库等应用的服务器.支持备份弹性云服务器ECS和裸金属服务器 ...

  8. 服务器运行数据库失败,无法在服务器上打开 Access 数据库 | Microsoft Docs

    尝试打开位于服务器的 Access 数据库时出现"文件已在使用中"错误 2021/5/19 适用于: Access 2010, Microsoft Office Access 20 ...

  9. ACCESS数据库不能在国外英文操作系统上运行

    在国外的虚拟主机空间上,运行带ACCESS数据库的程序时,会出现如何提示: Selected collating sequence not supported by the operating sys ...

  10. linux 查看共享内存最大值,linux上更改共享内存的最大值

    linux下更改共享内存的最大值 System V IPC 参数 名字 描述 合理取值 SHMMAX 最大共享内存段尺寸(字节) 最少若干兆(见文本) SHMMIN 最小共享内存段尺寸(字节) 1 S ...

最新文章

  1. Android 跳转Activity 的时候出现闪屏问题处理
  2. java中mymaps_Java MyLocationStyle.myLocationType方法代码示例
  3. jquery实现多行滚动效果
  4. 对于数据给定范围sql取数_SQL Server中的报表–根据给定日期范围内提取的数据创建图表
  5. Codeforces Round #511 (Div. 1) 题解
  6. 马云:员工表现不好,老板要先检讨
  7. Gitlab-API各状态码解释
  8. windows环境下创建多个Redis实例
  9. 韦东山linux嵌入式学习之路
  10. Win11本地安全策略怎么设置?
  11. mysql查看mylog命令_mysql 日志查询(查看mysql日志命令)
  12. 西安交大计算机考研分数线2020院线,西安交通大学2020年复试分数线
  13. 市场竞争力法则:以小博大,虽败犹荣
  14. 撩妹情话套路大全 2021高级情话套路好甜齁
  15. 达芬奇17新功能及安装教程
  16. 22春天津大学《国际金融学》在线作业二
  17. POJ3889Fractal Streets 递归+ 坐标变换
  18. 小程序自制自带滑动条的表格组件
  19. 普宁市中学高考成绩查询2021,2021年中山高考状元多少分是谁,中山高考状元名单资料...
  20. [Mac OS X] 如何在终端查看 Mac OS 版本信息

热门文章

  1. jquery做一个表单验证
  2. Promise.all和Promise.race区别,和使用场景
  3. 20161212xlVBA文本文件多列合并
  4. JavaScript 类式继承与原型继承
  5. Clojure实现的简单短网址服务(Compojure、Ring、Korma库演示样例)
  6. 【Spring实战】—— 1 入门讲解
  7. 谷歌 analytics.js 简要分析
  8. 【OpenCV入门指南】第四篇 图像的二值化
  9. iZotope系列音频软件如何卸载操作指南
  10. 利用EasyRecovery深度扫描功能将桌面误删文件恢复