平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“ACCESS数据库文件的压缩和修复做法[图文]”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
先谈谈DllHotst进程消耗cpu 100%的问题:在这个场景下,服务器正常CPU消耗应该在75%以下,而且CPU消耗应该是上下起伏的,出现这种问题的服务器,CPU会突然一直处
理解这一步时,100%的水平,而且不会下降。查看任务管理器,能够发现是DLLHOST.EXE消耗了所有的CPU空闲时间,管理员在这种
实际处理时,情况下,只好重新启动IIS服务,奇怪的是,重新启动IIS服务后一切正常,但可能过了一段时间后,问题又再次出现了。
直接原因:
理解这一步时,有一个或多个ACCESS数据库在多次读写过程中损坏, MDAC系统在写入这个损坏的ACCESS文件时,ASP线程处于BLOCK状态,结果其他线程只能等待,IIS被死锁了,全部的CPU时间都消耗在DLLHOST中。
解决办法:
从实现思路看,把数据库下载到本地,随后用ACCESS打开,进行修复操作。再上传到网站。如果还不行,只有新建一个ACCESS数据库,再从原来的数据库中导入所有表和记录。然后把新数据库上传到服务器上。
本页介绍轻松的压缩与修复功能:
落到代码里,1。以问题数据库文件jit8.mdb为例,原文件大小为17.2MB 如图:
在这个场景下,2。用本地安装的office access 2003打开此数据库文件jit8.mdb,或者直接双击数据库文件。
这个时候会弹出一个安全警告,直接点“打开”。
3。 这时候会出现关于数据库结构的视图出来:
在这个场景下,4。执行上面的“工具” --- “数据库实用工具”---“压缩和修复数据库”。如图:
落到代码里,5。 当执行完毕后,再再次回到 1。表示完成操作,能够关闭access 2003了。这个时候再看下数据库大小 如图:
理解这一步时,怎么样,惊奇吧,原本17.2MB的数据库被这么轻易的两下减少到还有5.4MB,再传到空间里,是不是感觉速度快多了。
6。也能够借助第三方辅助工具进行压缩与修复 如:(链接已移除)
- Gzip压缩启用图文方法详细说明【IIS6.0、Apache】
- C#图片压缩的实现方法
- android bitmap compress(图片压缩)代码
- android图片压缩的3种方法实例
- php采用imagick模块实现图片缩放、裁剪、压缩示例
- PHP实现图片压缩的两则实例
- ios中图像进行压缩方法汇总
