我想知道为什么Perl我拥有的脚本,一旦放到实时服务器上,其性能就不太好。
整个脚本在两台服务器上都是相同的(一台是测试服务器,另一台是实时服务器)。两台服务器都运行此版本的 Perl:
This is perl 5, version 22, subversion 1 (v5.22.1) built for x86_64-linux-gnu-thread-multi
(with 73 registered patches, see perl -V for more detail)
开发服务器正在运行:
mysql Ver 14.14 Distrib 5.7.25, for Linux (x86_64) using EditLine wrapper
而实时服务器的版本略有不同:
mysql Ver 14.14 Distrib 5.7.17, for Linux (x86_64) using EditLine wrapper
两台服务器上的 my.cnf 文件相同。mySQL 版本之间的差异如此之小会导致速度问题吗?两台服务器都是 8GB RAM,
该脚本有很多工作要做(为目录构建静态页面),并且在每台服务器上都需要很长时间:
- 开发服务器:40 分钟
- 实时服务器:2小时20分钟
如您所见,差异非常大。还有什么建议我可以尝试吗?
htop
运行脚本时实时服务器上的显示情况如下:
然后在开发服务器上:
似乎没有太多内容(或没有使用任何交换)