webアプリの負荷試験をしていたらhttpdのerror_logで、
・_mysql_exceptions.OperationalError: (2004, "Can't create TCP/IP socket (24)")
・socket.error: [Errno 24] Too many open files
詳細端折ってますがこんなエラーが大量にでていた。(mysqlやmemcache接続する処理で)
エラーの原因から言ってしまうと、httpdが開こうとしているファイル数が「Max open files」の値を超えてしまっていた事が原因だった。
なので制限を変更した。
その時のメモ。
修正。
/etc/security/limits.conf に下記を追記。
* soft nofile 8192 * hard nofile 8192
確認。
httpdの再起動後、下記の値を確認。
less /proc/{pid}/limits
「Max open files」の値が設定した値になっていればOK。
その後もう一度apacheBenchで負荷試験をしたらエラーはでなくなった。