社員ブログ
HOME  社員ブログ

アーカイブ

‘MySQL’ カテゴリ

DB接続が遅い→解決

2013年07月24日 18時23分57秒

こんにちは、ピーターです。

PHPのPDOでMySQLに接続しています。
開発環境では遅くないのに、本番環境ではDBへの接続が遅い(0.5秒程度)という現象が起きました。
試しに持続的データベース接続してみると改善されます。

PDOが遅いのか?と思い、「pdo 接続 遅い」で検索すると、

PHP5.4 PDO Connection Windows7で遅い << 宮腰ブログ
http://www2.chrog.com/members/miya/archives/737

こちらのページが見つかりました。

接続文字列のlocalhostが、DNSの名前解決で遅延することがあるようです。
接続文字列のlocalhostを127.0.0.1に変えることで解決しました。

MySQL, PHP, 社員:ピーター

MySQLに接続できない→解決

2013年06月29日 20時36分24秒

こんにちは、ピーターです。

Windows ServerにMySQLをインストールしました。
しかし、mysqlクライアントからは接続できるのに、MySQL Workbench等の他のクライアントアプリケーションから接続すると、

Can’t connect to MySQL server on ‘127.0.0.1’ (10061)

というエラーになり、接続できません。
調べたところ、

Debian/lenny MySQLに外部マシンから接続(リモート接続): プログラミング関係ごちゃごちゃメモ
http://somenotes.seesaa.net/article/140067960.html

デフォルトのままだと全く外部からの接続を受け入れないようになっているらしい。

とのことで、[mysqld]グループに bind-address = 127.0.0.1 を追加することで接続できるようになりました。
インストール時にサーバー用としてインストールしたのでこうなったのかもしれません。

待ち受け状況はnetstatコマンドでも確認できました。

netstat -a -b -n

追加前

TCP [::]:3306 [::]:0 LISTENING 1360
[mysqld.exe]

追加後

TCP 127.0.0.1:3306 0.0.0.0:0 LISTENING 2552
[mysqld.exe]

MySQL, 社員:ピーター

500エラー オーバーヘッドでもない本当の原因とは!?

2012年03月26日 11時38分26秒

こんにちは、コブラです。

 

先日書いた「500エラー 予期しない状況が発生しました。の対処法。」という記事ですが、

これで解決しませんでした・・・。

オーバーヘッドが0.0KBでも発生する・・・何故だ・・・。

 

と思っていたら、とんでもないところに原因がありました!

 

それがこれ!

 

ループの中で同じファイルを何度もincludeしていたから!

 

以前、includeとrequire_onceの違いなどは書きましたが、

includeするクラスの中にファンクションなどがあると、

何度も定義しようとしてエラーになるのだとか。

でもincludeなので、処理は止まらないと。

なるほど・・・つまり、こういうことです!

 

for ($i = 0; $i < 100; $i++) {
  include "hoge.inc"; // getHogehoge()を何度も定義しようとするから×。ループの外に出す
  getHogehoge();
}

 

-hoge.inc

function getHogehoge() {
  return true;
}

 

原因が分かってスッキリしました!

初歩的なことですが見落としがちかも、皆さんもご注意を!

MySQL, PHP, 社員:cobra