我们在Passenger 5.0.30
服务器中运行Ubuntu 12.04
服务器,当我们运行sudo passenger-status
时,我们会收到非常有用和简明的信息。要获得更多信息,可以选择sudo passenger-status --show=requests
,但这只是为了快速识别某些请求甚至服务器的问题。
有没有办法在sudo passenger-status
输出中包含每个进程正在运行的当前操作?如果没有,关于如何创建可能是解析此信息并输出我需要的命令的任何想法或建议?
sudo passenger-status
输出示例:
Version : 5.0.30 1
Date : 2015-07-06 12:18:38 +0200 2
Instance: bdVuBLEf (nginx/1.8.0 Phusion_Passenger/5.0.13)
----------- General information -----------
Max pool size : 9 3
App groups : 2 4
Processes : 3
Requests in top-level queue : 0 5
----------- Application groups -----------
/var/www/phusion_blog/current/public:
App root: /var/www/phusion_blog/current
Requests in queue: 0
* PID: 18334 Sessions: 0 Processed: 4595 Uptime: 5h 53m 29s
CPU: 0% Memory : 99M Last used: 4s ago
* PID: 18339 Sessions: 0 Processed: 2873 Uptime: 5h 53m 26s
CPU: 0% Memory : 96M Last used: 29s ago
sudo passenger-status --show=requests
输出的示例(我会对path
属性特别感兴趣):
{
"threads" : 2,
"thread1" : {
"active_client_count" : 1,
"active_clients" : {
"2-2315" : {
"connected_at" : {
"local" : "Mon Jul 6 13:19:13 2015",
"relative" : "0s ago",
"timestamp" : 1436181553.120679
},
"connection_state" : "ACTIVE",
"current_request" : {
"app_response_http_state" : "PARSING_HEADERS",
"app_sink_state" : {
"callback_in_progress" : false,
"initialized" : true,
"io_watcher_active" : false
},
"app_source_state" : {
"callback_in_progress" : false,
"initialized" : true,
"io_watcher_active" : true
},
"flags" : {
"dechunk_response" : true,
"https" : true,
"request_body_buffering" : false
},
"host" : "blog.phusion.nl",
"http_major" : 1,
"http_minor" : 1,
"http_state" : "COMPLETE",
"method" : "GET",
"path" : "/",
"refcount" : 1,
"request_body_already_read" : 0,
"request_body_fully_read" : true,
"request_body_type" : "NO_BODY",
"response_begun" : false,
"session" : {
"gupid" : "16d1dbc-9VEXQm82is",
"pid" : 18334
},
"session_checkout_try" : 1,
"started_at" : {
"local" : "Mon Jul 6 13:19:13 2015",
"relative" : "0s ago",
"timestamp" : 1436181553.121373
},
"state" : "WAITING_FOR_APP_OUTPUT",
"sticky_session" : false,
"want_keep_alive" : false
},
"lingering_request_count" : 0,
"name" : "2-2315",
"number" : 2315,
"output_channel_state" : {
"bytes_buffered" : {
"bytes" : 0,
"human_readable" : "0 bytes"
},
"callback_in_progress" : false,
"mode" : "IN_MEMORY_MODE",
"nbuffers" : 0,
"reader_state" : "RS_INACTIVE"
},
"refcount" : 2,
"requests_begun" : 1
}
},
"disconnected_client_count" : 0,
"disconnected_clients" : {},
"free_client_count" : 127,
"free_request_count" : 3,
"mbuf_pool" : {
"active_blocks" : 4,
"active_memory" : {
"bytes" : 2048,
"human_readable" : "2.0 KB"
},
"chunk_size" : 512,
"free_blocks" : 10,
"offset" : 448,
"spare_memory" : {
"bytes" : 5120,
"human_readable" : "5.0 KB"
}
},
"pid" : 5171,
"server_state" : "ACTIVE",
"total_bytes_consumed" : 9209549,
"total_clients_accepted" : 2315,
"total_requests_begun" : 2315,
"turbocaching" : {
"fetches" : 1,
"hit_ratio" : 0.0,
"hits" : 0,
"store_success_ratio" : null,
"store_successes" : 0,
"stores" : 1
}
},
"thread2": {
...
}
}
答案 0 :(得分:0)
如果您对python感到满意(甚至不熟悉),则可以执行以下操作:
false
输出应采用以下方式:
clipChildren
类似地,您也可以检索请求/线程的其他重要参数。
请参阅https://www.phusionpassenger.com/library/admin/standalone/overall_status_report.html,以进一步了解RecyclerViewImpl
的输出。