我想监视从应用程序发送到我的数据库的查询.为此,我发现pg_stat_activity,但更常见的是,返回的行"在事务中"读取.我要么做错了,要么快到看不到查询,我感到困惑,或者以上所有内容!
有人可以推荐最耐用的方法来监控针对PostgreSQL运行的查询吗?我更喜欢某种易于使用的基于UI的解决方案(例如:SQL Server的"Profiler"),但我不是太挑剔.
我正在编写一个端到端测试,我的Java程序发布了它的所有资源 - 线程,服务器套接字,客户端套接字.它是一个库,因此通过退出JVM释放资源不是一种选择.测试线程的释放很容易,因为您可以向ThreadGroup询问其中的所有线程,但我还没有找到一种获取当前JVM正在使用的所有网络套接字列表的好方法.
有没有办法从JVM获取所有客户端和服务器套接字的列表,类似于netstat?我在Java 7上使用Netty和OIO(即java.net.ServerSocket和java.net.Socket).该解决方案需要在Windows和Linux上运行.
我的第一个偏好是使用纯Java从JVM中询问它.我试图寻找一个MX Bean或类似的,但没有找到任何.
另一个选择可能是连接到JVM的分析/调试API并询问Socket和ServerSocket的所有实例,但我不知道如何做到这一点以及是否可以在没有本机代码的情况下完成(AFAIK,JVMTI仅限本机) ).此外,它不应该使测试变慢(即使我最慢的端到端测试只有0.5秒,其中包括启动另一个JVM进程).
如果询问JVM不起作用,第三种选择是创建一个设计,在设置时跟踪所有套接字.这样做的缺点是可能会遗漏一些创建套接字的地方.由于我使用Netty,它似乎可以通过包装ChannelFactory和使用ChannelGroup来实现.
在Windows for ASP中,你可以得到它perfmon,但是......
如何在Linux中获取Apache的"每秒请求数"?
New Relic如何通过简单的安装进入我的应用程序?它如何知道所有方法,请求等?
它适用于RoR,PHP等.
任何人都能解释它背后的技术吗?我有兴趣使用我的Rails应用程序,但我想像New Relic那样顺利地完成.
谢谢
我是Java的新手,我遇到了将远程主机连接到的问题JVisualVM.
我搜索了互联网,并按照那里提到的所有步骤,但仍然无法解决问题.我遵循的步骤是:
我首先在远程服务器上创建一个jstatd.all.policy文件,然后在远程服务器上启动了jstatd $JAVA_HOME/bin.该文件包含:grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission;};
我开始Jstatd为jstatd -J-Djava.security.policy=jstatd.all.policy
我在远程主机上启动了Java应用程序:
java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false application_name
Run Code Online (Sandbox Code Playgroud)然后我开始作为JVisualVM我的本地机器的实例,当我添加远程主机时,它已连接但我无法看到任何Java进程.
任何人都可以帮我这个.
谢谢.
我正在实现一个/_status/端点,它对我们数据库中的数据进行一些健全性检查.
例如,我们正在收集测量结果,如果最新测量值超过一小时,状态将变为"不良".
我想指出Pingdom在这个URL上利用他们的警报基础设施并告诉我们什么时候出错了.
在"良好"状态下,我将提供具有HTTP 200 OK状态的HTML页面.但是,对于"坏",适当的HTTP状态代码是什么?或者更正确的是不通过状态代码传递这些信息,而是通过HTML内容?
谢谢!
我认为当用户告诉他们"应用程序很慢(再次)"时,许多开发人员都会感到不舒服.
在复杂的Web应用程序中,(感知的)性能下降可能有许多可能的原因:数据库响应缓慢,带宽问题,缓存不良等.在开发或登台环境中肯定会出现问题.
现在我的问题:
是否有一组工具和/或方法可以以可视方式(而不仅仅是性能计数器)在IIS/ASP.NET/SQL Server生产系统上提供全面的"实时"状态:
主要目标是一目了然(或仔细观察)导致性能问题的问题.
我有一些应用程序需要运行的服务,以便一些应用程序的功能工作.我想启用该选项,仅在启动应用程序后启动外部Windows服务进行初始化.(而不是让它们自动启动机器并在不需要应用程序时占用内存)
我没有访问exe的代码来实现它,所以理想情况下我想写一个C#.Net Windows服务,它将监视exe何时启动.
到目前为止我发现的是System.IO.FileSystemEventHandler.此组件仅处理已更改,创建,删除和重命名的事件类型.我不希望文件系统组件是找到我正在寻找的东西的理想位置,但不知道还能去哪里.
也许我没有使用正确的关键字进行搜索,但我还没有在Google或stackoverflow.com上找到任何非常有用的内容.
当它到来时,解决方案将需要在XP,Vista和Win 7上运行...
提前感谢任何指针.
我有一个Web应用程序,有很多客户端和服务器端逻辑.对于"感觉敏感"的某些定义,此应用程序感觉对最终用户的响应被认为是关键业务.;)
大多数网站监控讨论围绕着服务器端指标(响应时间,I/O队列深度,延迟,CPU负载等),即我们倾向于将服务器性能和响应性视为可行的"代理"对于用户正在经历的事情.
不幸的是,随着我们向客户端Javascript移动越来越多的逻辑,相关性降低,我们的服务器指标变得不那么有用.
我没有找到任何匹配的SO问题.谷歌搜索提供了一系列可能相关的商业产品,但它们通常来自制造商的网站,充满了无益的市场声望,"请打电话给我们了解细节",所以很难知道.
是否有任何常用的工具用于此类事情,除了滚动自己的工具?欢迎免费和商业,尽管在其他条件相同的情况下免费显然更好.
编辑: 为了澄清,我主要需要收集用户体验的批量数据,包括响应性和破坏/脚本错误.自动分析是一个非常好的,虽然我不得不偶尔深入研究数据,无论解决方案如何.
首先 - 关于我的背景:我已经编程了一段时间(此时为10年),并且在编写想法时非常称职.我在一年多前开始从事网络应用程序编程工作,幸好发现了nodeJS,它使网络应用程序的创建感觉更像传统的编程.现在,我有一个node.js应用程序,我已经开发了一段时间,现在正在网络上生产.我的主要困惑源于这样一个事实,即我对Web开发世界很陌生,并且在监控我的应用程序时并不知道什么是重要的,什么是不重要的.
我正在使用Joyent SmartMachine,看看他们提供的分析选项有点压倒性.有很多不同的选项和配置,我不知道每个分析真正起作用的目的.对于下面的问题,我会感谢任何答案,无论是针对Joyent的云分析还是完全一般的.
现在,我主要关心的是弄清楚我的应用程序如何利用我运行的服务器.我想知道我的应用程序是否分配了适当数量的资源.它收到的请求数量是否会使服务器过度使用,还是需要额外的资源?为此目的,为NodeJS应用程序查看哪些分析非常重要?(如果有不同的话,在单独的服务器上使用MongoDB和Redis)
在管理正在生产的服务器时,还有哪些其他统计数据通常非常重要?我习惯于运行一次以执行特定操作的程序(例如,一旦计算出图像就完成运行的光线跟踪器),而不是连续运行并与许多客户端交互的web应用程序.我确信有很多事情对长期服务器管理员来说是显而易见的,而不是像我这样的新手.
在具体处理NodeJS时要注意什么?在处理NodeJS的单线程事件循环与更标准的服务器系统时,哪些统计/分析变得特别重要?
我还有其他关于数据库如何发挥作用的问题,但我认为这已经足够了...
monitoring ×10
.net ×1
analytics ×1
apache ×1
asp.net ×1
c# ×1
http ×1
java ×1
javascript ×1
jmx ×1
joyent ×1
linux ×1
netty ×1
newrelic ×1
node.js ×1
performance ×1
php ×1
postgresql ×1
production ×1
sockets ×1
v8 ×1
visualvm ×1