Server和MySql加载问题

时间:2013-02-01 09:00:04

标签: php mysql server-load

我正在使用从网站获取100个项目并将其插入数据库的代码,如果该项目存在则会更新该记录。 它每分钟都作为一个cron作业运行。 它可以运行多达50000种产品。

脚本运行良好,产品导入成功。现在的问题是服务器和MySql加载。我的服务器支持说它需要几乎50%的资源,他们需要禁用该脚本。

我尝试谷歌检查解决方案,发现加载文件比mysql_query插入和更新更好。因此,我计划在服务器上的txt文件中编写所有查询,并在完成后使用加载文件将其导入db。

这是一个好方法吗?或者它也采取相同的服务器负载?我想在继续之前了解专家的决定。请帮忙。感谢

1 个答案:

答案 0 :(得分:1)

了解场景中的所有变量会很有帮助。显然,您不希望披露有关您的设置的任何敏感信息,但如果不了解您的情况的更多参数,则很难给出适当的答案。每当MySQL性能问题出现时,你必须评估你正在做的一切,而不仅仅是你每分钟写在cron上的脚本(这本身乍一看似乎可以优化或重新考虑到以不同的方式运行)。一些值得了解的事情是:   - 你在什么类型的托管环境,即共享,云等......?   - 您的网站每天,每小时,每分钟等都有什么样的流量......?   - 您运行了多少个Web服务器?   - 您运行了多少个DB服务器?有多少主人和奴隶?   - 你有负载平衡吗?   - 你使用像Memcache这样的任何类型的缓存吗?

知道为什么每分钟都要做那么多更新也会有所帮助?如果您没有其他选择,那么您可能需要考虑将资源专用于该过程并在半夜每天运行一次cron来同步您的数据库。

这一切都可能有点过分,如果您的数据库表格正确规范并且索引设置正确,您将获得很多性能。一般的经验法则是确保在“WHERE”子句中查询的数据库中的列上有索引。

希望这有帮助。