我需要将很多mysql行移到couchbase服务器上。问题是我需要使用PHP类来完成工作(该类具有业务逻辑)
我已经创建了一个PHP ClI脚本,并立即运行了6个脚本。它比运行单个CLI脚本更快,但还不够。我花了2个小时来转移所有东西。
还有更好的方法吗?
已更新:
PHP代码用Mysql做什么
关于它。没什么好看的。
答案 0 :(得分:1)
还有更好的方法吗?
是。最有可能的是。
您需要确定瓶颈。根据您的描述,似乎瓶颈是并行运行的作业数量。所以你应该增加它,直到你找到最大的性能。 GNU Parallel通常可以帮助你做到这一点。
当你这样做时,瓶颈就在其他地方。但由于你的描述细节很少,所以不可能分辨出来。
因此,您必须找到新的瓶颈。瓶颈通常是磁盘I / O,网络I / O或CPU,但也可以是共享锁或其他资源。
要查找CPU瓶颈,请运行top
。如果您看到一个进程以100%运行而且您无法并行化此过程,那么您就找到了瓶颈。
要查找磁盘I / O瓶颈,请运行iostat -dkx 1
。如果最后一列超过50%的时间达到100%,那么你就找到了瓶颈。
要查找网络I / O瓶颈,请运行iotop
。如果使用的带宽是> 70%的可用网络带宽,你找到了瓶颈。
一个特殊的网络问题是DNS:这通常被视为一个过程,由于没有充分的理由而被卡住了5-10秒,但是否则运行得很好。使用tcpdump -s1000 -n port 53
查看问题是否得到快速回答。在运行作业所涉及的所有机器上执行此操作。
寻找共享锁更难。您首先必须找到可疑流程,然后您必须strace
这些。