saville

博客园 首页 新随笔 联系 订阅 管理

2014年4月26日 #

摘要: 一直以来都在用svn管理源代码,美中不足的是由于svn服务器端部署在本地,无法实现在异地迁入迁出程序,因此考虑将svn服务器部署在我的MyBook Live上。一、部署svn1.分别执行以下2条命令安装Optwarewget http://mybookworld.wikidot.com/local-... 阅读全文
posted @ 2014-04-26 21:51 saville 阅读(1381) 评论(1) 推荐(0) 编辑

2014年3月16日 #

摘要: 在之前的文章《将Web站点由IIS6迁移至IIS7》中已经提到了关于在Win2008下运行ASP.NET 1.1程序的问题,但还不够完整,因此在这里重新整理一下。1.要安装.net framework 1.1以及.net framework 1.1 sp1,在安装的时候会报一个兼容性问题的提示,这里不需要理会,继续安装即可。2.修改配置文件。在machine.config里加上以下节点:3.在iis中注册.net framework 1.1。在cmd中进入C:\Windows\Microsoft.NET\Framework\v1.1.4322,运行aspnet_regiis -ir在iis中找 阅读全文
posted @ 2014-03-16 20:16 saville 阅读(4570) 评论(0) 推荐(0) 编辑

2014年1月26日 #

摘要: 之前已经介绍过通过WMI接口获取服务器硬件信息、收集服务器性能数据,从而实现对服务器性能的监控。但由于监控项目较多,而且通过WMI获取服务器信息的方式速度相对较慢,因此有必要根据不同情况对程序进行优化。一、使用多线程并行处理最初设计服务器监控程序的时候,仅使用一个for循环来处理,当时需要监控的项目较少,因此能在5分钟时间内完成一次完整的检测过程。随着时间的推进,需要监控的项目也越来越多,进行一次检测也由5分钟变成了12分钟。这样的性能显然是无法让人满意的,必须进行优化。在这种情况下,最有效的提升性能的方法显然是使用多线程进行并行处理。当时监控程序使用的.net framework3.5,因此 阅读全文
posted @ 2014-01-26 14:18 saville 阅读(1601) 评论(4) 推荐(3) 编辑

2013年12月26日 #

摘要: 在企业环境中,对磁盘空间的需求是惊人的。数据备份、文件服务器、软件镜像、虚拟磁盘等都需要占据大量的空间。对此,微软在Windows Server 2012中引入了重复数据删除技术。重复数据删除技术通过将文件分割成小的 (32-128 KB) 且可变大小的区块、确定重复的区块,然后保持每个区块一个副本,区块的冗余副本由对单个副本的引用所取代。这样,文件不再作为独立的数据流进行存储,而是替换为指向存储在通用存储位置的数据块的存根。因此,我们可以在更小的空间中存储更多的数据。此外,该项技术还会对区块进行压缩以便进一步优化空间。根据微软官方的介绍,该项技术有四大好处:一、容量优化:“重复数据删除”使得 阅读全文
posted @ 2013-12-26 16:30 saville 阅读(3900) 评论(5) 推荐(0) 编辑

2013年11月4日 #

摘要: 最近开始着手逐步将所有的Web站点由Win2003+IIS6迁移至64位Win2008+IIS7,基本还算顺利。这里就把相关内容整理总结一下。首先自然是要安装基本运行环境,包括iis,.net framework 1.1,3.5,4.0。这里都没有啥大问题,就是安装.net frame1.1时会报一个兼容性问题的提示,这里不需要理会,继续安装即可,但装完后别忘了再安装.net framework1.1 sp1。安装完后还需要在machine.config里加上以下节点:其次就要将站点由IIS6迁移到IIS7了,如果服务器上应用系统少,部署简单,那倒是可以考虑拷贝部署目录到新服务器,然后从头进行 阅读全文
posted @ 2013-11-04 16:10 saville 阅读(10429) 评论(0) 推荐(1) 编辑

2013年10月20日 #

摘要: 一、概述在软件开发特别是DSL开发中常常需要使用一些相对较复杂的业务语言,如果业务语言使用频率足够高,且使用普通的编程模式来实现会导致非常复杂的变化,那么就可以考虑使用解释器模式构建一个解释器对复杂的业务语言进行翻译。这种做法虽然效率相对较低,但可以允许用户使用自定义的业务语言来处理逻辑,因此在效率不是关键问题的场合还是较为有用的。二、解释器模式解释器模式描述了如何为简单的语言定义一个文法,如何在该语言中表示一个句子,以及如何解释这些句子。其结构图如下:AbstractExpression声明一个为抽象语法树中所有节点所共享的解释接口。TerminalExpression表示终结符表达式,实现 阅读全文
posted @ 2013-10-20 21:24 saville 阅读(4057) 评论(1) 推荐(0) 编辑

2013年9月9日 #

摘要: 上周装了个Service Manager 2012学习,以便完善System Center整个解决方案,在部署期间遇到2个问题,花了我不少时间解决。一、安装时提示“执行自定义操作时失败”每当到了安装的最后关头,总是提示“执行自定义操作时失败”,重复试了无数次都是如此。后来打开安装日志,发现里面有下面的报错信息:CAStartServices: Attempting to start service. OMCFGCAStartServices: StartService failed. Error Code: 0x8007041D. ConfigureSDKConfigService: CASt 阅读全文
posted @ 2013-09-09 16:58 saville 阅读(783) 评论(0) 推荐(0) 编辑

2013年8月20日 #

摘要: 在系统运维中常常需要定期去跑一些计划任务,比如扫描服务器监控其性能、检查SQL Server作业是否正常、监控MQ队列是否存在堵塞现象等。如果使用Windows计划任务调度,一来管理起来就比较松散,二来如需更改计划任务的配置就必须登录到服务器上进行修改,造成很大的不便。因此笔者在实际工作中自行开发计划任务调度服务来处理这些任务,将调度周期、任务配置等经常需要修改的配置信息保存到数据库中,并开发一个前台界面进行维护和管理。一、基本结构计划任务调度服务使用插件的方式处理各类不同的计划任务,插件必须继承自服务框架提供的MonitorTask抽象类,并在数据库中注册任务名、调度周期等信息,这样就可以由 阅读全文
posted @ 2013-08-20 21:22 saville 阅读(14061) 评论(5) 推荐(2) 编辑

2013年7月14日 #

摘要: 上一回介绍了如何通过WMI接口监控服务器性能,但服务器运行正常不等于运行的网站能正常打开,因此还有必要对网站的运行情况进行监控。在C#中,发起一个HTTP请求并返回其响应是非常简单的。1 HttpWebRequest request = WebRequest.Create(uri) as HttpWebRequest;2 HttpWebResponse response = request.GetResponse() as HttpWebResponse;3 bool result = response.StatusCode == HttpStatusCode.OK;4... 阅读全文
posted @ 2013-07-14 21:25 saville 阅读(1534) 评论(1) 推荐(0) 编辑

2013年6月23日 #

摘要: WMI 是微软操作系统的一个内置的组件,通过使用WMI我们可以获取服务器硬件信息、收集服务器性能数据、操作Windows服务,甚至可以远程关机或是重启服务器。一、在C#编程中使用WMI要想在C#程序中使用WMI,必须添加System.Management.dll的引用,并使用System.Management命名空间。该命名空间提供对一组符合WMI基础结构的系统、设备和应用程序的管理信息和管理事件的访问。这里介绍一下常用的几个类:ManagementScope用以连接WMI命名空间。ManagementBaseObject包含管理对象的基本元素。ManagementObject表示WMI实例。 阅读全文
posted @ 2013-06-23 20:24 saville 阅读(7267) 评论(10) 推荐(1) 编辑