寻找类似于xhprof和Linux的基于Web的c proiler工具。对 gwan 脚本有什么好的建议吗?提前谢谢。
G-WAN 探查器必须同时报告以下问题:
- G-WAN 脚本的代码部分(servlet 和处理程序)
- 阻塞/编写不佳的脚本(不使用事件)
- 库或系统调用速度慢等。
与其制作单独的产品,不如在 G-WAN 脚本中使用额外的代码来检查您的工作流程。
G-WAN提供了几个使用非常精确的时间函数的例子,如:cycles64()
、getms()
、getus()
和getns()
来检查代码部分或库调用的速度。
但 G-WAN 还提供像 REQUEST_TIME
这样的服务器计数器,这将揭示应用程序中的性能和可扩展性问题。
此外,您可以使用connection handler
更深入地检查accept
、parse
、build
和reply
时间:
enum HANDLER_ACT
{
HDL_INIT = 0,
HDL_AFTER_ACCEPT, // just after accept (client IP address setup)
HDL_AFTER_READ, // each time a read was done until HTTP request OK
HDL_BEFORE_PARSE, // HTTP verb/URI validated but not HTTP headers
HDL_AFTER_PARSE, // HTTP headers validated, ready to build reply
HDL_BEFORE_WRITE, // after a reply was built, but before it is sent
HDL_AFTER_WRITE, // after a reply was sent
HDL_HTTP_ERRORS, // when G-WAN is going to reply with an HTTP error
HDL_BEFORE_CLOSE, // when G-WAN is going to close a connection
HDL_CLEANUP
};
由于 G-WAN 支持 17 种编程语言的脚本,因此性能调优可能还涉及为应用程序的速度关键部分做出正确的选择。
您可能希望使用 G-WAN C 脚本来动态生成映像,并使用 G-WAN PHP、C# 或 Java 脚本来执行不太重要的任务。
G-WAN让你非常容易地做到这一点。
最后但并非最不重要的一点是,G-WAN 提供了 ab.c(一种开源基准测试工具)来让您识别可扩展性问题,其中大部分问题都在这里讨论。