2012-04-17 111 views
0

我在Ubuntu桌面11.10,8核和8 GB RAM上設置了Redis 2.4。PHP和Redis - 性能 - PHP是瓶頸

運行redis-benchmark工具我總是可以看到每秒100K的SETS和GETS以及一個4096byte的包。 Apache將每秒服務器的index.html頁面增加24k,因此這些數字非常好。

在測試整個堆棧上的性能時,Apache-PHP5(使用Fastcgi)和Redis maxthroughput是每秒250個請求。

如果我將Redis調用註釋掉,我仍然會每秒獲得250個請求。

使用htop,CPU使用率爲95%PHP和5%Redis,Apache幾乎看不見。

所以問題是我應該如何真實地期待吞吐量與這種組合?

軟件的詳細信息:

PHP 5.4和Apache 2.2.20的Linux 3.0.0-17泛型#30 Ubuntu的SMP週四3月8日二十時45分39秒UTC 2012 x86_64的

+1

這將取決於PHP腳本將會做什麼以及硬件的關閉。否則,沒有什麼真正有用的可以說的。 – 2012-04-17 06:42:56

+0

是的 - 當然 - 我明白,但是我可以添加更多信息 - 我編譯了phpredis,https://github.com/nicolasff/phpredis,並設法將請求速率提升至平均每秒2000次。我將把php文件剝離到最低限度,並添加函數來查看它的功能。 – Kylea 2012-04-17 15:15:59

回答

0

我會建議使用PHP的微框架而不是更大的框架。另外,如果您包含許多PHP文件,性能將下降(即使使用APC)。另外,PHP r/s不會匹配靜態html r/s。

+0

感謝vamur - 我做了一些更多的研究 - 並發現了一個基於C的庫,可顯着提高性能 - phpredis。它是一個PHP擴展,它具有基於腳本的框架的所有功能,但包含10倍的r/s。 – Kylea 2012-04-19 21:45:33