Sk1*_*peR 6 php concurrency enterprise
我正在运行企业级PHP应用程序.这是一个浏览器游戏,在基础设施上有成千上万的用户在线,我的老板拒绝升级,机器在任何时候都运行2-3系统负载(yep linux).无论如何,这不是真正的问题.真正的问题是有些用户等到服务器加载(黄金时间)并且他们带着他们的鼠标答题器并且他们点击相同的提交按钮10-20次,同时在服务器静止的同时发送10-20个请求产生初始请求,因此不更新缓存和数据库.
目前我在每个请求上都有一个输出变量,有效期为2分钟,我有"互斥锁",这基本上是内存中的一个标志,如果发现它会进一步阻止执行脚本,但是鼠标点击器会在同时它们几乎同时运行,这对我来说是个大问题.
你是怎样的,大多数StackOverflow人都在处理这个问题.我在考虑标记cookie /会话,但我认为如果服务器过载,我会遇到同样的问题.优化是不可能的,源是7年并且相当优化,在大多数页面上没有查询(运行缓存)并且仅在某些用户输入上查询数据库,就像我试图阻止的那样.
是的,它是没有真实对象的程序代码.机器运行PHP 5,但代码本身更像是PHP 4.我知道,我知道它已经很老了,但是我们无法省去重写这整个混乱的资源,因为大多数原始开发人员都知道如何将东西交织在一起是的,我基本上是修补旧洞.但据我所知,这是加载PHP网站的一般问题.
PS:在提交时禁用带有javascript的按钮不是一个选项.真正的骗子是高级用户.其中一人编写了一个机器人点击器并将其打包为Google Chrome扩展程序.不要问我是如何处理的.
| 归档时间: |
|
| 查看次数: |
6500 次 |
| 最近记录: |