Webサむトを飛ばしお、システム管理の時間を数十時間節玄する方法

サむトの速床、安定性、フォヌルトトレランスは、垞に3぀のコンポヌネントに䟝存したす。



1.パフォヌマンスキャッシュオプションなどに圱響するプラットフォヌムCMSずその蚭定

2.サヌバヌ構成実際の物理たたは仮想およびシステム゜フトりェア蚭定Webサヌバヌ、デヌタベヌスなど

3.開発の品質、コヌド、プラットフォヌムずの統合。



倚くの堎合、Web開発者は高品質のコヌドを䜜成できたすが、システム管理やサヌバヌ構成ではあたり意味がありたせん。 優れたシステム管理者がパヌトタむムであるこずはめったになく、クヌルなプログラマヌでもありたせん。



䞀般的に、これは完党に正垞であり、誰もが自分でやるべきこずです。 しかし、残念ながら、倧半の小芏暡なWebスタゞオでは、州内に管理者はほずんどいたせん。 ホスティング蚭定にはほずんど泚意が払われおいたせん。 最良の堎合、ホストのサポヌトず「デフォルト」蚭定に䟝存したす。



その結果、CMS、ホスティング、開発などのコンポヌネントの問題やボトルネックにより、サむトが「ラメ」になる堎合がありたす。 クラむアントはニュアンスを詳しく調べず、プロゞェクト党䜓に䞍満を抱いおいたす。 圌の吊定性はすべおの人に匕き継がれたす。 ひどいシステム 開発者は䜕もできたせん」



もちろん、そのような写真は決しお私たちには向いおいたせん。 そしお、私たちは䜕かをする必芁があるず決めたした...



1C-Bitrixプラットフォヌム自䜓のパフォヌマンス機胜は非垞に倧きく パフォヌマンスモニタヌ 、デバッグツヌル、いく぀かのキャッシュオプション、 Webベヌスのクラスタヌシステムのサポヌトなどが含たれたす、別の蚘事が必芁です。 すでに倚くのこず、䜕かに぀いお曞いおいたす-近いうちにお知らせしたす。



今日の投皿は、ホスティング、サヌバヌ、VPS、およびそれらの管理に関するものです。



最も単玔で、明らかに、最も明癜な解決策は、Webシステムの構成に関する優れた詳现なガむドを䜜成し、それを党員に提䟛するこずです。 そしお、すべおがうたくいきたす。



そしお、これから始めたした-詳现なドキュメントを䜜成したした6〜7幎前のようです。 次に、それに基づいお、いく぀かの無料のトレヌニングコヌスが発行され、絶えず改善され、適応されたした。 その結果、それらは䞀般的な「ホスティングコヌス」にたずめられおいたす。



名前ず1C-Bitrixによっおリリヌスされたずいう事実にもかかわらず、コヌスはすべおのホスティング事業者および特定のWebサヌバヌ矀にサヌビスを提䟛する管理者に関連性があり、非垞に圹立ちたす。 それに粟通し、さらに、最埌にセキュリティの質問に答えたので、Webサヌバヌの蚭定に重倧な間違いがなくなるこずを期埅できたす。



しかし、残念なこずに、サヌバヌをセットアップするための最も完党なドキュメントず実甚的な掚奚事項が入手可胜であっおも、ほずんどのプロゞェクトのパフォヌマンスの問題は解決したせん 良い-正しい -構成はただほずんどありたせん。



これには倚くの理由がありたす...



その結果、私たちの実践が瀺すように、ほずんど垞にサむトの速床を䜎䞋させる倚くの兞型的な問題が残っおいたす。



投皿の最初のトピックから少し脱線し、長幎にわたっお遭遇した最も䞀般的な問題を説明しようずしたす。 あなたがどこかであなた自身のりェブサヌバヌを芋぀けたずしおも、その本質を理解するこずはあなたを少し助けるこずを望みたす...



CGIずしおのPHP



幞いなこずに、このモヌドのPHPはすでに珍しくなっおいたす。 それでも、玄1幎前には、このような構成がたくさんありたした。



なぜCGIが悪いのですか スクリプトを呌び出すたびに、個別のPHPプロセスが実行されるずいう事実。 それは長く、リ゜ヌスを倧量に消費したす。



open_basedir



PHPのこのパラメヌタヌは、特定のディレクトリぞのスクリプトアクセスを制限したす。 異なるクラむアントのサむトが同じサヌバヌ䞊で動䜜できる構成に非垞に圹立ちたす。 良い目暙はセキュリティですが、同時に「それほどではない」ず蚀えば、゜リュヌションが実装されおいたす...



たず、 open_basedirで蚭定された制限を「回避する」ための倚くのオプションがありたす。



第二に、このパラメヌタヌを「空の」倀にさえ蚭定するず、PHPの速床に非垞に悪い圱響がありたすたずえば、ファむル操䜜など。 空のアンロヌドサヌバヌでは、ペヌゞ生成速床が20〜30䜎䞋し、高負荷の堎合は2〜3倍になりたす。



open_basedirには倚くの代替手段がありたす。 各クラむアントのWebサヌバヌの個別のコピヌから始たり、chrootの䜿甚で終わりたす。



PHPプリコンパむラがむンストヌルされおいたせん



APC 、 eAccelerator 、 XCache ...これらの蚀葉がおなじみであるこずを願っおいたす。



プリコンパむラは、PHPスクリプトの実行を最適化および高速化したす解釈されたコヌドをプリコンパむルし、結果をキャッシュしおから、すでにプリコンパむルされたコヌドを実行したす。



異なるプロゞェクトでのパフォヌマンスの違いは、数倍に達する可胜性がありたす。



プリコンパむラに十分なメモリがありたせん



プリコンパむラはむンストヌルできたすが、たずえば、すべおの蚭定は「デフォルト」のたたです。 これはどうしお難しいのでしょうか たずえば、キャッシュされたスクリプトに割り圓おられるメモリが少なすぎるため、新しいスクリプトにアクセスするず叀いデヌタが抌し出され、プリコンパむラのすべおの䜜業が非効率的になりたす。



フロント゚ンドが欠萜しおいたすnginx



2レベルのアヌキテクチャ「バック゚ンド-フロント゚ンド」は、負荷の倧きいWebプロゞェクトを安定しお動䜜させるためのほが必須の芁件です。



この䜜業スキヌムは、いく぀かの問題を解決したす。



ApacheでMaxClientsの倀を蚭定解陀



非スレッドサヌバヌでは、このパラメヌタヌは、クラむアント芁求の䞊列凊理のために開始できるプロセスの最倧数に関䞎したす。



倚くの人々は、より良いず思いたす。 倚くの構成では、50、150、および256の倀を確認できたす。



これは実際にはどういう意味ですか。 1぀のApacheプロセスが40 MBのRAMを消費できるずしたしょう。 MaxClientsを150に蚭定するず、ピヌク負荷DDoS、Habraeffect、開発゚ラヌなどで、すべおのプロセスに玄6 GBのRAMが必芁になりたす。 Apacheのみ。



このメモリ量が利甚できない堎合、スワップが䜿甚され始めたす。 そしお、システム党䜓の䞀般的な劣化が始たりたす。 たた、迅速に凊理できるリク゚ストであっおも、凊理に非垞に長い時間がかかりたす。



MaxClientsを適切な倀に制限するこずをお勧めしたす。 リク゚ストの数が倚い堎合、リク゚ストは単に「キュヌ」に入れられ、ビゞヌなプロセスが解攟されるず凊理されたす。 システムは安定したす。



* * *



このような兞型的な゚ラヌのリストは非垞に長い間続くこずがありたす...



私たちの実践では、非垞に頻繁にそれらに出くわしたした。



その結果、2009幎、私たちは開発者ではなくシステム管理者ずしお、かなり非兞型的な圹割を果たしたした。 そしお、圌らは無料の補品1C-BitrixVirtual Machineをリリヌスしたした。



これは䜕ですか



VMBitrix簡単に仮想マシンず呌ぶは、さたざたなVMware補品VMWareサヌバヌ、VMWare ESXおよびESXi、VMWareワヌクステヌション、VMWareプレヌダヌ、VMWare Fusionで実行できるVMWare仮想アプラむアンスの既補のむメヌゞです。



このむメヌゞに実装するには



圓初、このむメヌゞを広く普及させる予定はありたせんでした。 最初のバヌゞョンは公開されおいたせんでしたが、内郚目的でのみ䜿甚されおいたした。



VMbitrixは基本的に参照環境ずしお機胜し、独自のシステムを展開するこずでガむドできたす。



それでも、「1C-BitrixVirtual Machine」は非垞に人気がありたした。 VMwareベヌスの関皎を提䟛できるホスティング業者は、1C-Bitrixプラットフォヌムにプロゞェクトを配眮するこずに焊点を圓おた新しい関皎に圓瀟のむメヌゞを䜿甚し始めたした 。



埐々に、「Hyper-Vに同じむメヌゞを䜜成」、「Virtuozzoにテンプレヌトを䜜成」ずいうリク゚ストが衚瀺され始めたした...



埐々に、ほがすべおの䞀般的な仮想化環境をサポヌトし始めたした。



珟圚のすべおのバヌゞョンのサポヌトには、最終的にかなりの劎力が必芁になり始め、その結果、玄1幎埌に別の無料補品-1C-BitrixWeb EnvironmentLinuxが登堎したした 。



本質的に、これはCentOS5、6、Fedora12-16、Red Hat Enterprise Linux5、6に自動的に展開できるRPMパッケヌゞです。 32ビットず64ビットの䞡方のアヌキテクチャがサポヌトされおいたす。



したがっお、実際の物理サヌバヌを䜿甚するか、仮想マシン Amazon 、 Scalaxy 、 Clodo.Ruなどをレンタルしたか、 通垞のVPSを賌入したかは問題ではありたせん。



裞のシステムでは、それで十分です



# wget repos.1c-bitrix.ru/yum/bitrix-env.sh

# chmod +x bitrix-env.sh

# ./bitrix-env.sh








...そしお、むンストヌルプロセス䞭にyesず数回答えたす。 :)



ずころで、サポヌトされ続けおいる最新バヌゞョンの仮想マシンは、1C-BitrixWeb Environmentパッケヌゞからたさにこの方法で組み立おられおいたす。



実際、それだけです このような簡単なむンストヌルの埌、「Web環境」が埗られたす-珟圚はバヌゞョン3.1です。



補品がどのように進化したか、そしお珟圚「䜕をするかを知っおいる」こずすぐにできるこずで、「箱から出しおすぐに」。 私の意芋では、最も興味深い「チップ」のいく぀かを説明したす。



1C-Bitrix補品の䟿利なむンストヌラヌ



Web環境をむンストヌルした埌、HTTPを介しおサヌバヌにログむンするず、バックアップから既存のサむトを展開したり、サむト管理、䌁業ポヌタル、たたは補品を䜿甚しお新しいサむトをむンストヌルしたりできる非垞に簡単なりィザヌドが衚瀺されたすその他の流通決定。











りィザヌドは、ロシア語、英語、ドむツ語の3぀の蚀語で利甚できたす。



同時に、MySQLデヌタベヌスぞの接続はすでに完党に構​​成されおいたす/home/bitrix/www/bitrix/php_interface/dbconn.phpファむルで。したがっお、補品のむンストヌルは「短瞮」手順に埓っお実行されたす。システムパラメヌタヌはチェックされたせん技術芁件を満たしおいる堎合、デヌタベヌス接続パラメヌタヌは芁求されたせんすべおが既に構成されおいたす。



スタヌトアップメニュヌ



SSH経由でマシンにアクセスするず衚瀺されるメニュヌは次のずおりです。







もちろん、珟代の矎しいWebむンタヌフェヌスず比范するず、少し犁欲的です。 :)おそらくい぀かりェブ環境ず仮想マシン甚に䜜成するでしょう-そしお最終的には、ISPmanager、cPanel、Pleskのような本栌的なホスティングコントロヌルパネルを取埗したす。 :)



しかし、このバヌゞョンでも-非垞に匷力で䟿利なツヌルです。



Webクラスタヌ



箄1幎間、 Webクラスタヌモゞュヌルが存圚し、1C-Bitrixプラットフォヌムで積極的に開発されおいたす。これにより、1぀ではなく耇数のサヌバヌに任意のプロゞェクトを展開できたす。たたは耇数のサヌバヌ。



Webクラスタヌのセットアップに関する詳现なガむドがあり、誰もがそれに慣れるこずができたす。



ただし、時間を節玄するために、Web環境の䞀郚であるりィザヌドを䜿甚できたす。



セットアッププロセスは次のようなものです。



さらに、すべおの蚭定が自動的に実行されたす。



最近のパヌトナヌ䌚議で、テクニカルサポヌトの責任者であるデニスシャロモフは、わずか10〜15分で小さなテストクラスタヌを展開するプロセス党䜓を明確に瀺したした。



同じ堎所で、圌はもう1぀の泚目すべき機䌚を瀺したした。マスタヌノヌドで事故が発生した堎合、スレヌブをマスタヌモヌドに切り替えるこずです。



この事実䞊すべおをラむブで芋るすばらしい機䌚がありたす。レポヌト「仮想マシン3.0実践的な䟋で15分でWebクラスタヌを起動する方法」を含むレポヌトのビデオ録画が䌚議りェブサむトに投皿されおいたす。



䌁業ポヌタル



「1C-BitrixWeb Environment」は、「1C-Bitrix」プラットフォヌムで開発されたプロゞェクトに最倧限に適合したす同時に、PHPおよびMySQLを䜿甚するWebサむトでも問題なく機胜したす。



しかし同時に、 「䌁業ポヌタル」ず連携するために特別に蚭蚈されたいく぀かの個別の「チップ」がありたす。



たずえば、catdocおよびxpdfナヌティリティは補品に自動的にむンストヌルおよび構成され、オンザフラむでむンデックスを䜜成し、最も人気のある圢匏MS Word、Excel、PowerPoint、Adobe Acrobatのドキュメントをポヌタルで怜玢できるようにしたす。



Webサヌバヌは、HTTPずHTTPSの䞡方で動䜜するようにすぐに構成されたす。 自己眲名蚌明曞を賌入した蚌明曞に眮き換えるだけで、安党な環境で䜜業できたす。



次ぞ... WebDAVは、ネットワヌクドラむブを接続するためにすぐにサポヌトされたす。



別に、NTLM蚱可構成りィザヌドに぀いお蚀及できたす。







䌚瀟がActive Directoryを䜿甚し、ADナヌザヌがポヌタルぞのログむンを蚱可されおいる堎合、ポヌタル自䜓の蚭定に加えお、NTLM認蚌が正しく機胜するためには、ApacheおよびNginxの蚭定を䞭心に倚くの「タンバリンず螊る」必芁がありたす。



これは必須ではなく、プロセス党䜓が自動化されおいたす



蚭定プロセス党䜓に぀いおは、 ニコラむ・リゟニンのブログで詳しく説明されおいたす。



利甚可胜なリ゜ヌスに基づいた自動構成



Web環境/etc/init.d/bvatにはトリッキヌなスクリプトがありたす。



システムの起動時に開始しお、利甚可胜なリ゜ヌスRAMの量を決定し、それらに応じお、自動的に最適に構成したす。



仮想マシンたたはWeb環境をむンストヌルした埌、タスク専甚の埮調敎を実行する堎合は、このスクリプトをオフにしお、サヌバヌを再起動するたびに機胜しないようにしたす。



* * *



なんずか蚈算しようずしたしたが、すべおの゜フトりェアを完党に構成し、クラスタヌを展開し、NTLM認蚌を構成するには、「工数」にどれだけの時間が必芁でしょうか...少なくずも200時間かかりたした。 :)



もちろん、これは䞊限です。 それでも、たずえば、通垞のサむトの安定した運甚のためにVPSを構成する必芁がある堎合でも、すべおをむンストヌル、構成、およびテストするには1〜2日かかりたす。



「Web環境」たたは「仮想マシン」「1C-Bitrix」を䜿甚するず、この時間を節玄しお他のこずに費やすこずができたす。 :)



PSスクリプトや蚭定などの䟋ずずもに、りェブ環境の詳现な説明をレむアりトするこずがしばしば求められたす。



このような「説明」はWeb環境そのものです。 絶察に無料です。 任意のマシンに配眮するか、 仮想マシンをダりンロヌドしたす。 sshで圌女を蚪問し、孊んでください すべおの蚭定、すべおのスクリプト-すべおが完党にオヌプンでアクセス可胜です。 :)



All Articles