在過去,我曾問如何創建自己的API,允許外部網站訪問我的分貝我存儲在數據庫中的一些問題。這個特別的問題是,我要求提供關於如何優化外部網站的API訪問以幫助保持本地服務器負載下降的建議。首先,API的設置方式是使用包含數據和php的MySQL來提供數據。 API本身由URL中帶有API密鑰的URL調用。例如:尋找API的優化建議
http://mysite.com/get_listings.php?key=somekey
然後我的腳本做了上面的操作需要做的事情,然後以json格式返回結果。目前,該API每月提供10-15k次獨特通話,而且我還將增加另一組網站,這些站點將在API現在提供的服務的基礎上每月引入另一個20-30k獨特通話。沒有緩存正在進行,它只是通過php腳本直接調用我的API,並且每次調用都會查詢MySQL數據庫。它返回的數據類型基本上是故事和配置文件信息,而調用是最新故事,故事作者簡介和故事詳情。
除了PHP代碼的正常優化,優化的MySQL查詢和索引,你可以提出任何其他的優化技術,可以幫助保持服務器的負載下,繼續爲API快速的外部網站?我瞭解外部網站本身也應該在他們的末端進行某種緩存。但在我的最後,你是否建議從數據庫緩存結果然後緩存?如果是的話,使用memcache是一個不錯的選擇?或者也許將json結果存儲在redis中?或者一個簡單的文件緩存系統可以工作?除緩存以外的任何其他內容?很明顯,服務器硬件可以有所作爲,但超出了本文的範圍。我會說,雖然我會得到一個全新的服務器,只會致力於做到這一點。
我有root權限才能安裝額外的軟件,有沒有什麼幫助。
50K沒什麼。不要擔心。 –
@OZ_其實如果這個其他地方的跡象可能會跳到一百萬以上。主要目的是試圖找到一個現在可以正常運行的解決方案,但也可以擴展以處理更多問題。 – John