我有一个网页.py应用程序在OpenShift下运行,并启用缩放功能。HAProxy进程一直在通过http1.0检查索引文档,看看我的应用程序是否启动了。例如,日志如下所示:
==> python/logs/appserver.log <==
127.2.1.129 - - [2013-12-25 13:32:09] "GET / HTTP/1.0" 200 7297 1.240403
127.2.1.129 - - [2013-12-25 13:32:12] "GET / HTTP/1.0" 200 7297 0.676904
127.2.1.129 - - [2013-12-25 13:32:15] "GET / HTTP/1.0" 200 7297 1.421824
127.2.1.129 - - [2013-12-25 13:32:18] "GET / HTTP/1.0" 200 7297 0.730807
127.2.1.129 - - [2013-12-25 13:32:21] "GET / HTTP/1.0" 200 7297 1.153252
127.2.1.129 - - [2013-12-25 13:32:24] "GET / HTTP/1.0" 200 7297 0.828387
127.2.1.129 - - [2013-12-25 13:32:28] "GET / HTTP/1.0" 200 7297 1.390523
127.2.1.129 - - [2013-12-25 13:32:31] "GET / HTTP/1.0" 200 7297 0.964495
127.2.1.129 - - [2013-12-25 13:32:35] "GET / HTTP/1.0" 200 7297 2.574379
127.2.1.129 - - [2013-12-25 13:32:39] "GET / HTTP/1.0" 200 7297 2.011549
问题就在这里。对于每个请求,我的应用程序都会创建一个单独的会话实例。我使用DiskStore进行会话,因此每个请求都会创建一个单独的文件,我很快就达到了OpenShift的80000个文件限制(在连续创建这样的会话3天左右之后)。奇怪的是,我的index getter根本没有使用或访问session变量。事实上,我尝试过将其更改为只返回“Hello World”,但对象仍然每隔2-5秒创建一次。在
我需要A)限制HAProxy测试我的站点的频率,或者更理想的B)不为每个连接创建会话
有什么想法吗?我有一个很好的标准网页.py会话初始值设定项位于主应用程序文件顶部(不在任何方法内):
^{pr2}$
我想删除旧的会话。不知道他们为什么不帮你清理。在
编辑:
我是说,让你的应用程序清理旧的会话,当然。在
您可以更改HAProxy配置以指向不创建会话的运行状况检查端点。在
这可以通过编辑haproxy/conf来完成/哈普罗西.cfg文件,查找选项httpchk GET/行,它在文件的底部。在
如果将其更改为指向不创建会话文件的另一个URL端点,则应避免此问题。在
我是从https://www.openshift.com/forums/openshift/war-deployment-behind-haproxy那里得到这个主意的
相关问题 更多 >
编程相关推荐