Vas*_*R.P 5 php mysql server-load
我使用的代码从网站获取100个项目并将其插入数据库,如果该项目存在则更新该记录.它每分钟都作为一个cron作业运行.它运行多达50000个产品.
该脚本运行良好,产品导入成功.现在的问题是服务器和MySql加载.我的服务器支持说它需要几乎50%的资源,他们需要禁用该脚本.
我尝试谷歌检查解决方案,发现加载文件是比mysql_query插入和更新更好的选择.因此,我计划在服务器上的txt文件中编写所有查询,并在完成后使用加载文件将其导入db.
这是一个好方法吗?或者它也采取相同的服务器负载?我想在继续之前了解专家的决定.请帮忙.谢谢
小智 1
了解场景中所有起作用的变量将会很有帮助。显然,您不想透露有关您的设置的任何敏感信息,但在不了解您情况的更多参数的情况下,很难给出适当的答案。每当出现 MySQL 性能问题时,您都必须评估您正在做的所有事情,而不仅仅是您编写的每分钟在 cron 上运行的脚本(乍一看,这本身似乎可以优化或重构为以不同的方式运行)。最好了解一些事情: - 您所处的托管环境是什么类型,即共享、云等...?- 您的网站每天、每小时、每分钟等获得的流量是多少?- 您正在运行多少个网络服务器?- 您有多少个数据库服务器正在运行?有多少主人和奴隶?- 你们有负载平衡吗?- 您是否使用任何类型的缓存(例如 Memcache)?
了解为什么您每分钟进行这么多更新也会有所帮助?如果您别无选择,那么您可能需要考虑将资源专门用于该过程,并每天在半夜运行一次 cron 来同步您的数据库。
这一切可能有点矫枉过正,如果您的数据库表正确规范化并且索引设置正确,您将能够获得很多性能。一个非常通用的经验法则是确保数据库中在“WHERE”子句中查询的列具有索引。
希望这有帮助。
| 归档时间: |
|
| 查看次数: |
186 次 |
| 最近记录: |