2014-05-24 115 views
0

因此,對於一個簡單的測試遊戲,我正在根據他們當前的遊戲頭像生成用戶圖像。我從企鵝俱樂部和GTA V那裏得到了這個想法。他們都生成了當前遊戲中的頭像的圖像。PHP Image Generation

我創建了一個腳本,只需將幾張圖像放在一起,然後將最終圖像打印到客戶端。它類似於企鵝俱樂部如何做,我相信:http://cdn.avatar.clubpenguin.com/%7B13bcb2a5-2e21-442c-b8e4-10516be6abc6%7D/cp?size=300

正如你所看到的,企鵝穿着多件衣物。這些項目是各自不同的圖像位於http://mobcdn.clubpenguin.com/game/items/images/paper/image/300/(例如:http://mobcdn.clubpenguin.com/game/items/images/paper/image/300/210.png

無論如何,我已經做了腳本和所有,但我有幾個問題。

當去俱樂部企鵝或俠盜獵車手的頭像發生器,你會注意到它完成了這麼快的請求。即使它是一個新用戶,(因此在它還沒有生成之前有機會緩存​​圖像),它在一秒鐘內完成。

我怎麼可能加快圖像生成過程?現在我只使用PHP,但我可以切換到另一種語言。我也瞭解其他一些人,我願意學習。哪種語言可以提供最快的Web圖像生成器(它必須首先連接到數據庫才能獲取用戶頭像信息)?

對於服務器規格,多少RAM和所有有趣的東西會是一個好的數額?現在我正在使用一個OVH cloud server(VPS Cloud 2)來測試它,它沒有問題。但是,如果有經驗的人可以提供幫助,那麼如果我開始獲得更多流量,並且每個客戶端首次登錄時都會有超過100個圖像請求(顯示他們朋友的頭像的關係系統),那麼會發生什麼情況。我可能會使用Cloudflare和其他緩存工具來幫助它們,使它們中的大多數緩存最多24小時,但我不能完全依賴它。

TL;博士: 兩個主要問題:

  1. 什麼是產生在網絡上化身(現在我使用PHP)的最快方法?
  2. 什麼是一些好的服務器規格大約100 +每日獨特的客戶端(至少)使用此服務器來生成這些頭像?

編輯:另一個問題,哪個網絡服務器可以處理更多的請求呢?現在我使用的是Apache服務器,但是我的其他服務器使用nginx來處理其他的API(比如記錄用戶,獲取信息等)。

回答

0
  1. 恕我直言,語言不是瓶頸。 PHP對於實時小圖像處理足夠快。你只需要正確的算法。此外,請檢查字節碼緩存引擎,如APC或XCache甚至HHVM。他們可以顯着提高PHP性能。
  2. 我認爲,任何VPS都可以完成這項工作,直到您有> 20個併發請求。更多的客戶在同一時間使用服務您需要更多的RAM。您可以使用分析器輕鬆確定腳本內存需求和其他性能信息,例如XHProf
  3. FastCGI模式下的Nginx或Lighttpd使用的內存少於Apache http服務器,它們可以處理更多的併發連接。但是,除非有多個併發連接,否則它並不重要。
-1
  1. 是,PHP是可以做這個工作快速,靈活的(例如generate.php?大小= 32)
  2. 我只知道德國的網站空間,但他們也有一個英文界面。 www.nitrado.net