
私には、何年も前に構築されたかなり基本的な Web 注文システムを持つクライアントがいます。このシステムは PHP 5.3 に基づいており、問題なく動作します。
現在、ODBC ブリッジ (Easysoft) を介して (さらに古い) 倉庫管理システム (Microsoft FoxPro データベース) に接続しています。サーバー自体は、MySQL と Apache を実行する VPS Centos 5 サーバーで、メモリは 1.5 GB、CPU コアは 2 つです。このサーバーの性能が著しく低く、最近発生しているパフォーマンスの問題に大きく影響していると考える理由があります。
どうにかして、あまりお金をかけずにパフォーマンスの問題に対処する方法を考え出さなければなりません。私が考えた解決策は、サーバーを Windows 2008 R2 サーバーに移行することですが、これについて皆さんの意見を聞きたいです。
- サーバーをデータベースと同じサーバーに移動すると、ODBC ブリッジは不要になります。現在、これは時々フリーズしますが、これはパフォーマンスの問題と関係があると思います。
- Windows Server には現在 8GB のメモリと 4 つの CPU コアがあり、過度の負荷はかかっていません。
私の質問:
- 最近、PHP は Windows 2008 で問題なく動作しますか? 実際には Windows 用に設計されたものではないことは理解していますが、このような基本的な PHP サイトであれば、これで十分でしょうか (基本的なというのは、フレームワークや他のクラスに依存しないという意味です。これは、ODBC 関数呼び出しを含む純粋な PHP コードです)。
- MySQL は Windows でどのように動作しますか?
- この方法を採用する場合、Apache と IIS のどちらを使用すればよいでしょうか?
アドバイスをいただければ幸いです。最善の解決策は Centos サーバーをアップグレードすることだとわかっていますが、メモリを 2 GB 追加するとクライアントに月額 160 ドルの費用がかかります。これは中小企業にとっては大した金額ではありません。
答え1
PHP/MySQL の Windows 実装に関する私の個人的な経験は、私自身、私の従業員、そして私の顧客に苦痛をもたらしました。
- 2008R2 の PHP では、メモリ リークやパフォーマンスの問題が多数見つかりました。
- MySQL は Windows で大量のメモリを使用します。
- エクスプロイトに対するセキュリティ更新は、Windows の場合、まったく行われないほど速く行われません。
あなたの状況では、Hyper-V の LAMP で Windows 2008R2 を真剣に検討するべきです。LAMP サーバーの Hyper-V プロセスは CPU とメモリの効率が非常に良いことがわかりました。