Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用大量RSS提高应用程序的速度_Javascript_Php_Mysql_Apache_Mootools - Fatal编程技术网

Javascript 如何使用大量RSS提高应用程序的速度

Javascript 如何使用大量RSS提高应用程序的速度,javascript,php,mysql,apache,mootools,Javascript,Php,Mysql,Apache,Mootools,大家早上好 我有很多RSS提要的web应用程序。流量如下所示 从各自的站点获取RSS(使用PHP) 将其存储在DB(MySQL)中 阅读并在浏览器中显示给用户 取数每隔一小时进行一次,并存储到数据库中 然后,无论谁请求,都会将这些提要显示给浏览器用户。(从数据库读取并显示。) 阅读过程没有那么快。换句话说,若用户在同一页面上有20个提要,那个么为每个提要加载5篇文章。它没有那么快,目前也没有提供良好的用户体验 我在8GB RAM VPS服务器上运行,技术包括PHP、MYSQL、MOOTOOL

大家早上好

我有很多RSS提要的web应用程序。流量如下所示

  • 从各自的站点获取RSS(使用PHP)
  • 将其存储在DB(MySQL)中
  • 阅读并在浏览器中显示给用户
取数每隔一小时进行一次,并存储到数据库中

然后,无论谁请求,都会将这些提要显示给浏览器用户。(从数据库读取并显示。)

阅读过程没有那么快。换句话说,若用户在同一页面上有20个提要,那个么为每个提要加载5篇文章。它没有那么快,目前也没有提供良好的用户体验

我在8GB RAM VPS服务器上运行,技术包括PHP、MYSQL、MOOTOOLS和javascripts

然后为了加快速度,我尝试使用平面文件从各个站点读取提要并将其写入提要文件。(每个提要都有单独的文件。)

然后读取提要文件并在用户浏览器上显示它。在这种情况下,它比从DB读取要慢

所以现在我别无选择。。也不知道我能做些什么来提高我网站的速度

如果任何专家有任何建议,请让我知道

问候,,
莫娜:“我不认为自己是专家,但我至少可以给你一些尝试的东西: 首先,从您自己的数据库中显示rss提要是一件好事,如果任何rss源由于rss提供商的问题而失败,这将保护您。 尽管如此,我建议您将rss提要的加载部分移动到一个单独的文件中,该文件在服务器端运行(并使其成为“cronjob”)。这确保了用户永远不会为重建数据源而烦恼。然后可以每小时调用此cronjob以刷新数据库

下一步是找出流程最慢的地方,是否有慢查询?或者你的脚本中有一些缓慢的代码

为了缩小原因,我真的建议您安装XDebug扩展(这里有适用于Windows的现成DLL:),并在php.ini中添加以下行:
[XDebug]
zend_extension=“C:\xampp\php\ext\php\u xdebug.dll”
xdebug.profiler_append=0
xdebug.profiler_enable=0
xdebug.profiler\u enable\u trigger=1
xdebug.profiler\u output\u dir=“C:\xdebug”
xdebug.profiler\u output\u name=“cachegrind.out.%t-%s”
xdebug.remote_enable=0
xdebug.remote_handler=“dbgp”
xdebug.remote_host=“127.0.0.1”
xdebug.trace\u output\u dir=“C:\xdebug”

安装后,将
?XDEBUG_PROFILE
添加到url(请参阅:)将生成一个文件,您可以使用WinCacheGrind()检查该文件。这个程序可以缩短每次函数调用的执行时间

我希望这能帮助你:)


PS:请确保禁用,或者更好,不要在您的生产环境中安装XDebug,因为XDebug会减慢您的脚本速度…

我还要补充一点,您应该考虑对请求/结果进行排队和缓存。关键词:redis、rabbitmq、xcache、Permanment mysql连接……感谢Royarise的帮助和精彩的解释。