目錄
回复讨论(解决方案)
首頁 後端開發 php教程 求助:php和mysql跨服务器如何提高效率?

求助:php和mysql跨服务器如何提高效率?

Jun 23, 2016 pm 02:00 PM

本人开发的一个APP,服务器端使用LAMP,php和mysql在一台服务器上的时候,app的响应速度还行。

但考虑到以后可能需要将php和mysql分别布置到不同服务器上,按这种方式我测试了一下,发现app的响应很慢,每次响应要10秒左右。

分析了自己的php实现代码,发现一次app的请求中,php和mysql有上百次的交互,每一次虽然需要的时间不多,但上百次加起来就很多了。其实数据库本身查询需要的时间不多,估计都花在php和msysql的跨服务器网络时延上。

跨服务器的情况该如何提高效率? 我想到的是两种办法: 1. 提高php和mysql两台服务器的网络传输性能(我现在用的是家里的无线局域网,如果是有线局域网或更好的千兆局域网的话时延就很小了?)   2.  php不用自己实现业务逻辑,将请求发给mysql,然后mysql用存储过程来实现,这样php和mysql间只需要一次交互就行了,应该可以解决网络传输时延的问题。

开发php没有多少经验,求各位帮助,看我想的办法时候可行,或还有其它的解决方案。

谢谢!


回复讨论(解决方案)

1、采用长连接连接数据库
2、一次性读取查询结果到本地 (mysqli_result::store_result、pdo::fetchall)

谢谢版主回复!

用这两种办法可以提高一些性能。

但有些地方不好处理,比如A,B,C是三个查询,需要先做A,根据结果筛选后,才能做B,同样做了B才能做C,有先后顺序的要求,没有办法一次获取查询结果。

其次,有些查询不方便一次行查询结果到本地,除非对业务逻辑做很多修改。



下午将两台机器放到了有线局域网上测试,速度大大加快,在无线局域网情况下,大概ping值是20ms左右,在有线情况下只有不到1ms,所以100多次调用也只有大概70ms左右,这样的话这种延时问题不大。

1次app的请求中,php和mysql有上百次的交互?
一次请求就有上百次交互?。。

本来数据库和php分开就会有一定的网络延迟。
建议:
1. 启用缓存,减少对数据库的访问。
2. 优化数据库结构和索引。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

11個最佳PHP URL縮短腳本(免費和高級) 11個最佳PHP URL縮短腳本(免費和高級) Mar 03, 2025 am 10:49 AM

11個最佳PHP URL縮短腳本(免費和高級)

Instagram API簡介 Instagram API簡介 Mar 02, 2025 am 09:32 AM

Instagram API簡介

在Laravel中使用Flash會話數據 在Laravel中使用Flash會話數據 Mar 12, 2025 pm 05:08 PM

在Laravel中使用Flash會話數據

構建具有Laravel後端的React應用程序:第2部分,React 構建具有Laravel後端的React應用程序:第2部分,React Mar 04, 2025 am 09:33 AM

構建具有Laravel後端的React應用程序:第2部分,React

簡化的HTTP響應在Laravel測試中模擬了 簡化的HTTP響應在Laravel測試中模擬了 Mar 12, 2025 pm 05:09 PM

簡化的HTTP響應在Laravel測試中模擬了

php中的捲曲:如何在REST API中使用PHP捲曲擴展 php中的捲曲:如何在REST API中使用PHP捲曲擴展 Mar 14, 2025 am 11:42 AM

php中的捲曲:如何在REST API中使用PHP捲曲擴展

在Codecanyon上的12個最佳PHP聊天腳本 在Codecanyon上的12個最佳PHP聊天腳本 Mar 13, 2025 pm 12:08 PM

在Codecanyon上的12個最佳PHP聊天腳本

宣布 2025 年 PHP 形勢調查 宣布 2025 年 PHP 形勢調查 Mar 03, 2025 pm 04:20 PM

宣布 2025 年 PHP 形勢調查

See all articles