什么是支持MySQL的Linux低开销语言?

时间:2016-10-03 03:34:05

标签: mysql linux shell

Asterisk服务器需要运行查询MySQL数据库的外部脚本(如果必须知道,则为“AGI”)。这个脚本经常运行,可能每分钟大约50-100次,并且它没有做太多(大约10-15 SELECTS,对结果进行一些计算,并将结果回复给Asterisk)。

如果脚本是PHP shell脚本,在负载测试期间它会使用大量CPU(大概是因为它每次运行时都会加载整个php库。)

另一方面,如果脚本是bash shell脚本,则运行需要很长时间,因为bash无法(轻松)维护单个MySQL连接并使用SSL与远程服务器建立10-15个连接/断开连接协商需要几十分之一秒,因此整个脚本可能需要3-4秒。

这项任务有哪些更好的语言选择?开销低,但易于MySQL支持的东西,最好是解释而不是编译。

1 个答案:

答案 0 :(得分:1)

每分钟50-100次启动新进程的任何语言都会产生一些开销。无论程序编写的语言是什么,开始一个过程都会产生开销。

理想情况下,您可以通过向服务发出请求来避免流程的开销。但听起来你需要使用AGI接口,所以你无法真正摆脱这种开销。

所有脚本语言(PHP / Ruby / Python / Perl)都有需要启动的解释器。

即使Java有一个需要在每个进程中启动的运行时JVM,所以这是一个仍然有开销的编译语言的例子。

像C,C ++或Go这样的编译语言可能是最小化语言运行时开销的一个很好的选择。所有这些都有MySQL的编程接口。