2014-04-11 70 views
0

這可能是一個奇怪的問題,但最近我一直在想。網絡服務器優化:處理頻繁的PHP請求

我有一個應用程序每秒從我的web服務器請求一個頁面(php腳本,像API一樣工作並輸出一個簡單的字符串)。這似乎相當多的垃圾郵件,我想知道是否可以從中得到任何問題。

像,我應該注意web服務器日誌記錄,以確保它沒有發送垃圾郵件直到它滿。 RAM/CPU在這一點上不是問題。 APC已啓用。腳本已經過優化。如果有什麼,我還應該看看什麼?

這可能是我遇到很多訪問者到我的網站時遇到的情況,但我從來沒有過那種體驗。

謝謝!

回答

1

每一秒?這是每個客戶每天86400次。這對於PHP來說很重要!但它應該沒問題,除非你有多個客戶端,某種類型的I/O大型數據庫系統。

否則,在nginx上使用APC的php5 [-fpm]聽起來很適合這種用法,如果您必須使用PHP。

如果您的應用程序的這個組件在沒有數據庫的情況下彙總數據,則通過在互聯網上挖掘其他數據源,您可能希望與數據提供程序檢查是否允許實時輪詢,並確保您的地址明確列入白名單。

防火牆不會被遺忘:使用異常允許的安全策略,即iptables -t filter -P INPUT DROP,也可以使用iptables -t raw表精確轉換到數據包級別。任務關鍵型Web服務器性能的最大威脅之一是對手通過分析流量頻率和數量來識別節點至關重要的能力。關閉最低級別的所有非關鍵端口是一種簡單的防禦措施。

另一種選擇是自動故障轉移,與此服務器的節點監視以及使用雲VPS提供程序(如Digital Ocean或Amazon Web Services)快速部署嵌入式替換設備。這是永久運行冗餘服務器(或實例)的一種替代方法,並且可以很方便地進行設置。

需要通過故障轉移進行實時請求處理的應用程序經常出現在金融行業的高價值風險環境中,以及安全和關鍵風險環境中的安全和運輸行業。如果以上任何一種情況都適用於您,您可能希望考慮從一開始就使用包括Ada,,Haskell的專用語言集重新構建應用程序的這個組件。這將允許您優化較低級別的資源利用率,從而獲得最佳性能。根據您的風險環境,這可能會或可能不值得您。