1

私はそのような問題を抱えています: phpcassa は、負荷が毎秒スクリプトへの 200 クエリに増加すると、このような例外を引き起こします

Error connecting to localhost:9160: TException: TSocket: Could not connect to localhost:9160 (Cannot assign requested address [99])
Error connecting to localhost:9160: TException: TSocket: Could not connect to localhost:9160 (Cannot assign requested address [99])
PHP Fatal error:  Uncaught exception 'NoServerAvailable' with message 'An attempt was made to connect to every server twice, but all attempts failed. The last error was: TException:TSocket: Could not connect to localhost:9160 (Cannot assign requested address [99])' in /var/www/megaumnik/context/connection.php:232
Stack trace:
#0 /var/www/megaumnik/context/connection.php(257): ConnectionPool->make_conn()
#1 /var/www/megaumnik/context/connection.php(351): ConnectionPool->get()
#2 /var/www/megaumnik/context/connection.php(286): ConnectionPool->call('describe_keyspa...', 'thegame')
#3 /var/www/megaumnik/context/columnfamily.php(194): ConnectionPool->describe_keyspace()
#4 /var/www/megaumnik/data/getData.class.php(265): ColumnFamily->__construct(Object(ConnectionPool), 'username')
#5 /var/www/megaumnik/data/test.php(6): getData->getDataByKey('username', '317')
#6 {main}
  thrown in /var/www/megaumnik/context/connection.php on line 232

スクリプトには、異なる列ファミリーからの 4 つの $cf->get() があります。各列ファミリーには 1000 行あります

4

1 に答える 1

1

開いているファイルの制限に達している可能性があります。「ulimit -a」で現在の制限を確認できます。

制限を引き上げるには、2 つの方法のいずれかで新しい制限を設定できます。まず、'ulimit -n 10000' などの一時的な操作を実行できます。これは、そのシェルによって開始されたプロセスにのみ影響します。制限を永続的に増やすには、次のような行を /etc/security/limits.conf に追加する必要があります。

*               -       nofile      10000

これを有効にするには、再度ログインする必要があると思います。

于 2011-12-02T06:33:19.593 に答える