--max-requests作用?从starman --help:
--max-requests 每个工作进程要处理的请求数。默认为 1000。
这意味着每个工作线程在处理完这么多请求后都会退出。然后master进程会为每个退出的worker启动一个全新的worker,并根据设置维持worker的数量--workers。
使用--max-requests通常是一件好事,特别是如果您的应用程序不是盒子上运行的唯一东西,因为perl(众所周知)不会返还它使用的内存。这种工作进程的回收方式starman可以将内存返还给其他进程使用。如果您的应用程序确实泄漏了内存,这也可以帮助您的应用程序保持良好的性能运行,而不是您的应用程序最终消耗所有内存并需要被操作系统杀死。
--max-requests?您应该将其保留为默认值,1,000除非您有充分的理由更改它。如果您的应用程序是盒子上唯一运行的东西,并且您确定它没有泄漏,您可以尝试使用更高的值来减少回收工作人员的频率。如果您知道您的应用程序存在泄漏,您可能需要使用较低的值来更频繁地回收工作线程。然而,一般来说,这个设置实际上对性能的影响很小。
也就是说,如果您的工作人员将内容缓存在内存中,回收工作人员可能会造成虚假的缓慢请求,因为新工作人员需要花费一些时间重建这些缓存,但可能还有许多其他可能的解释。您需要进行一些分析,以找出真正导致您所看到的特定缓慢的原因。
| 归档时间: |
|
| 查看次数: |
368 次 |
| 最近记录: |