小编dav*_*dcl的帖子

用于行为不当的ColdFusion应用程序的Windows CPU通知

我有一个用ColdFusion编写的Web应用程序,它定期开始使用100%的服务器CPU并崩溃ColdFusion服务.

由于我自己无法重现这个问题,我想找到一个实用工具,当CPU使用率开始攀升时会通过电子邮件通知我,所以我可以跳上服务器,看看FusionReactor看看发生了什么,并确定行为不当的代码.

我用Google搜索并且找不到合适的实用工具,所以我想我会问其他程序员是否找到了可以进行这种监控的工具.鉴于我的需求的具体情况,我宁愿不编写自己的监控工具.

如果您有其他建议来解决整体问题,我也很乐意听到.

回答答案:

使用Windows perfmon触发命令行听起来很有希望.谁能指点我如何做到这一点的教程?

我们没有设置接收SNMP陷阱的监控系统.

我们正在运行ColdFusion 8标准版,它不包括ColdFusion性能监控工具 - 只有Enterprise包含这些工具.

Peter Boughton的答案可能会让我解决这个问题,但它无法帮助我主动解决问题,因为CPU开始飙升,所以我仍然在寻找通知解决方案.

windows cpu coldfusion notifications monitoring

8
推荐指数
1
解决办法
798
查看次数

如何让我的TCP侦听器服务正确终止?

我正在编写一个启动TCP侦听器的Windows服务.核心代码工作正常,但我在Windows服务的机制方面遇到了一些问题.

现在,当我的服务启动时,它会创建一个线程并在线程中启动TCP侦听器.然后,当服务停止时,它终止该线程:

Public Class txnSocketService
    Inherits System.ServiceProcess.ServiceBase

    Private listenerThread As Thread


    Public Sub New()
        Me.ServiceName = "txnSocketService"
        Me.CanStop = True
        Me.CanPauseAndContinue = True
        Me.AutoLog = True
    End Sub

    Shared Sub Main()
        System.ServiceProcess.ServiceBase.Run(New txnSocketService)
    End Sub

    Protected Overrides Sub OnStart(ByVal args() As String)
        listenerThread = New Thread(AddressOf pmtListener.Main)
        listenerThread.IsBackground = True
        listenerThread.Start()
    End Sub

    Protected Overrides Sub OnStop()
        listenerThread.Abort()
    End Sub

    Private Sub InitializeComponent()
        '
        'txnSocketService
        '
        Me.ServiceName = "txnSocketService"

    End Sub
End Class
Run Code Online (Sandbox Code Playgroud)

启动工作正常.但是,如果我停止服务,则服务进程不会终止.我究竟做错了什么?

[顺便说一句,我现在正在VS2010 Beta 2上这样做,如果这很重要的话.]

.net vb.net windows-services visual-studio-2010-beta-2

2
推荐指数
1
解决办法
2323
查看次数

如何使用visual basic.net express版安装Windows服务?

编辑:我在这个问题上开始赏金.目前,我已经开始使用VS2010 Pro Beta开发我的应用程序,但我真的希望能够使用快速版本构建,因为我们通常不是.net商店,即使是一个或者两个开发人员拥有VS PRO,我们整个团队都无法使用它.

要成为可接受的答案并要求获得赏金,您必须提供示例代码和说明,以便使用vb 2008 express Edition安装和卸载Windows服务.您不一定需要从我的代码开始(但它的基本内容包含在下面).


我写了一个VB.NET应用程序,我想将其作为服务运行.目前我使用的是VB.net Express Edition(2008),它没有附带"服务"模板,但我添加了一个Service类(继承自ServiceBase)和一个Installer类(继承自Installer); 在这两种情况下,我都在关注MSDN的示例代码.不幸的是,我无法将此代码安装并作为服务运行.

此代码的内容是名为sampleListener的TCP侦听器类.如果我将sampleListener类设置为启动对象并运行我的项目,它可以作为控制台应用程序运行.

有一个服务类(下面),它只是启动sampleListener.

Public Class sampleSocketService
    Inherits System.ServiceProcess.ServiceBase

    Public Sub New()
        Me.ServiceName = "sample Socket Service"
        Me.CanStop = True
        Me.CanPauseAndContinue = True
        Me.AutoLog = True
    End Sub

    Shared Sub Main()
        System.ServiceProcess.ServiceBase.Run(New sampleSocketService)
    End Sub

    Protected Overrides Sub OnStart(ByVal args() As String)
        sampleListener.Main()
    End Sub

End Class
Run Code Online (Sandbox Code Playgroud)

还有一个安装程序类,我认为是我的问题的根源.这是我最初写的安装程序类.

Imports System
Imports System.Collections
Imports System.Configuration.Install
Imports System.ServiceProcess
Imports System.ComponentModel

<RunInstallerAttribute(True)> _
Public Class sampleSocketServiceInstaller
    Inherits Installer
    Private serviceInstaller1 As ServiceInstaller
    Private …
Run Code Online (Sandbox Code Playgroud)

.net vb.net windows service visual-studio-express

1
推荐指数
1
解决办法
8227
查看次数