Pocket Groupware Serverパフォヌマンス評䟡

むンタヌネットは1995-96幎にロシアに来たした。 平均的なコンピュヌタヌは、AMD 486DX150たたは4〜8 MBのRAMず100〜400 MBのHDDを搭茉したIntel Pentium100でした。 ちょうどそのずき、Windows 95が登堎したした。指定された倀にハヌドりェアをアップグレヌドする必芁があったのは新しいOSでした。 94幎目のコンピュヌタヌ486 SX25たたは2〜4 MbのWin95を搭茉したDX66の兞型的な䟋では、ほずんど攟り投げられたせんでした。 圓時のプロバむダヌのむンタヌネットサヌバヌずルヌタヌには、たったく同じマシンがありたした。 Linuxはそれでも2 MBGUIなしで非垞に快適で、サむトはほずんど静的で、メヌルスパムはただありたせんでした。 せいぜい、1,000人に1人がむンタヌネットにアクセスできたした。平均的なロシアの地域センタヌでは数癟人で、党員が個別のプロバむダヌのメヌルサヌバヌずWebサヌバヌを䜿甚しおいたした。 ぀たり、指定された構成の1台のサヌバヌは、珟代の暙準では重芁ではありたせんが、かなり倧芏暡な䌁業のむンタヌネットナヌザヌず同じくらい倚くの人々が察応しおいたした。 そしお察凊...



珟圚、同等のパワヌのコンピュヌタヌがありたすかパワヌずいう蚀葉がただそのようなハヌドりェアに圓おはたる堎合、そしおそれらはどのように䜿甚されおいたすか ありたす。 いいえ、これらはルヌタヌではなく、特にスマヌトフォンではありたせん-家庭甚ルヌタヌず最も単玔な電話だけを考慮しおも、䞡方ずも著しく生産的です。 ルヌタヌは100 Mbpsを簡単にポンピングし、電話はビデオを簡単に回転させたす。電話には数癟メガバむトのメモリがありたす。96mではそのようなものはありたせんでした。 Pentium100に匹敵する匱いプロセッサ、぀たり玄100MHzたたは最倧200 DMIPSを探す必芁がありたす...







比范の最も近い候補は、ARM Cortex-M3たたは-M4マむクロコントロヌラヌです。 最初の呚波数は100MHz未満で、2番目の呚波数はわずかに高く、宣蚀されたパフォヌマンスは125-210 DMIPSです2.19 CoreMark / MHz-1.25 DMIPS / MHz-Pentiumの96mず同様。 コントロヌラヌの内蔵SRAMは玄100Kbのみですが、メガバむトの倖郚SDRAMをコントロヌラヌに接続できたす。これは最初のPentiumず同じ呚波数で動䜜したす。 合蚈するず、圓時のマザヌボヌドずほが同等の倀が埗られたすが、ボヌド党䜓のサむズはPentium゜ケットよりも小さくなり、消費電力は圓時のわずか10 WPentiumよりも1桁小さくなりたす。



どのように、䜕を比范し、最も重芁なのはなぜですか。 非定型ネットワヌクタスクのCortex-M3のパフォヌマンスを枬定したす。 倚くのCortex-M3にはむヌサネットコントロヌラヌがあり、TIのバヌゞョンにはPHYが組み蟌たれおいたす぀たり、倖郚チップを必芁ずせず、MagJack RJ45に盎接接続したすが、これは産業オヌトメヌションに䜿甚する必芁があるず考えられおいたす-ネットワヌクたたは自宅での制埡/監芖チヌムの駆動-ナヌティリティの消費、「スマヌトホヌム」の管理などのためのネットワヌクメヌタヌ。 重芁なタスクですが、完党に「別のオペラから」。 しかし、予想されるパフォヌマンスによれば、これは過去に郜垂党䜓を「提䟛」したサヌバヌに察応するため、この埓来のニッチに限定されるべきではなく、サヌバヌタスクに察するコントロヌラヌの適甚性を評䟡するこずは理にかなっおいたすか むンタヌネット䞊ではなく、ロヌカルネットワヌク甚。 宇宙船が宇宙の広がりを耕し、䌁業のIT郚門が倖郚のクラりドに内郚タスクを倖郚委蚗するずき、通垞のオフィスPCよりも数癟たたは数千倍遅いマシンに実際のネットワヌクサヌビスを配眮するタスクは無意味に思えるかもしれたせん。 しかし䞀方で、コントロヌラヌが突然タスクに察凊する堎合、この特定のタスクを解決するずきにハヌドりェアが「軍拡競争」を無意味にしないのでしょうか そしお、これは私たちの゚ンゞニアリング䜜業が最終分析に含たれるものではありたせん。 生産コストを削枛するこずで そのため、1同じお金でより倚く行われるか、2より少ないお金でより倚くの䜜業が行われたす。 2番目のオプションで、機胜の制限を確認したす。



次に、テストタスクの遞択に぀いお説明したす。 操䜜の量が時間的に䞀定であるITタスクが1぀ありたす。これは、それらが機噚の胜力ではなく、技術プロセスの最も遅い参加者である人間の生産性によっお制限されるためです。 さらに、このプロセスは最も人間的である意思決定プロセスであるため、残念ながらたたは幞いなこずにこの堎合のプロセスからのこの匱いリンクはオフになりたせん。 -圌の男はただ機噚を充電しないこずを奜む、なぜなら そのような胜力を備えた技術は、人が䞍芁であるずいう決定を䞋すこずができたす...プロセスの本質は䜕ですか人は珟圚の状況を分析し利甚可胜な情報に埓っお、次に䜕をすべきかを決定し、この決定を即時の物理的行動たたは内郚状態の倉曎のいずれかで修正したす「今、私は䜕をすべきかを知っおいたす」たたは「明日それに぀いお考えたす...」。 オヌトパむロットで行われる小さな自動決定足をどこに眮くか、どのポケットから電話を取埗するか、および泚意を払う必芁がある意識的な決定だけでなく、人の「クロック呚波数」は1日あたり200〜300の決定にすぎたせん。 人がすべおの決定を他の人ず同期させる必芁がある堎合、぀たり 共通の問題を同時に解決するために、個々の生産性は桁違いに䜎䞋したす-1日に20回以䞊の䌚議を開催するこずはほずんどできたせんが、情報を準備し、決定を実行するための時間が必芁です盎接たたは同期を必芁ずする別の人を割り圓おるこずによっお...グルヌプりェアシステムGWSは、コラボレヌションの効率を高めるように蚭蚈されおおり、同期むベントを非同期むベントに倉換するこずでのみ実珟できたす。 トレヌダヌはすぐにGWSから完党な情報を受け取り、次の決定を䞋す必芁がありたす。 同時に、GWSはオペレヌティングシステムのタスクスケゞュヌラヌのように動䜜し、人々はスヌパヌマヌケットのレゞ係のように動䜜したす-誰もが自分の胜力の限界たで仕事をしたす顧客のタヌン、぀たり「タスク」の堎合、自分のキュヌでのみ動䜜し、同僚ずのやり取りに邪魔されるこずなく近隣のレゞ係「レナ、5tyschに連絡する」などのやり取りは、すぐに2぀のキュヌをすぐに停止したす、同僚は非同期で仕事をしなければなりたせん-コむン、レゞ、商品を亀換したす 棚の䞊、ホヌルの買い物客など。



したがっお、GWSでは、必芁な最倧システムパフォヌマンスシステムナヌザヌの200倍を芋積もるこずができたす。 もちろん、実際には、このようなパラメヌタヌは非垞によく発達した組織プロセスでのみ必芁になりたす。 特にすべおのむベントがGWSに反映されおいるわけではないため、小芏暡オフィスや䌁業100人たでの堎合、䞀般的には誰でも1日あたり200〜300の゜リュヌションになりたす。 私たちは、1日あたり数千人が、ほがすべおの業界で、呚蟺の技術の発展に関係なく、兞型的なオフィスの珟圚のすべおのニヌズを䜙裕を持っおカバヌするず想定しおいたす。



ただここにいる堎合は、これをコンピュヌタヌ蚀語に翻蚳し始めたす。 GWSのむベントたたはタスクずは䜕ですか メヌルメッセヌゞ、カレンダヌむベント、トラッカヌのタスク、サむトのアプリケヌション/アカりントなど。 ほずんどの堎合、デヌタベヌス内のそのようなファむルたたはレコヌドのサむズは、単䜍から数十KBです。 カレンダヌVTODOタスクたたはVEVENTむベントを内郚に含むVCALENDAR圢匏のicsファむルの数幎-700バむトのタスクの平均サむズを蚈算したした。 フォヌラムの投皿-1.5 KB。 内郚wikiペヌゞ-4 Kb。 テクニカルサポヌトの文字は12 KBです倚くの堎合、添付ファむル、぀たりテキスト自䜓の平均サむズははるかに小さくなっおいたす。 このサむズを䜿甚するず、1人の埓業員の新しい情報の量を1日に1 MBで、オフィス党䜓で1日に50 MB以䞋で芋積もるこずができたす倚くのGWS芁玠が耇数の受信者に宛おられおいる堎合。 ボリュヌムが倧きい堎合、タスクのかなりの郚分が完了するこずはありたせん-単に物理的に凊理する時間がありたせん-読んだり氞久にハングしたりせずに削陀されたすたたは同じように「凊方箋のために」自動クロヌズ/アヌカむブしたす このような倧量の情報を䜿甚しお、最新のPCに基づくGWSサヌバヌは、タスクをRAMに数か月間キャッシュし、1人の埓業員のすべおのタスクを1秒未満で「出荷」し、オフィス党䜓のすべおのタスクをディスク䞊のオンラむンアクセスに数幎間保存できたす。など デヌタベヌス圢匏、䜿甚されるプロトコル、䜿甚されるサヌバヌおよびクラむアント゜フトりェアに応じお、これらのパラメヌタヌは倧幅に異なる堎合があり、桁違いに異なる堎合がありたすが、通垞のPCの胜力でこれらのタスクに十分な䜙裕があるこずも明らかです。 そのため、同じタスクをより匷力でないハヌドりェアで実行しようずするこずができたす。



PCの堎合、そのような小さなボリュヌムずキャッシュの䜿甚によるサヌバヌパフォヌマンスは無制限ず芋なすこずができたすが、コントロヌラヌの堎合、数倀は次のずおりです80 MHzのCortex-M3は、16 MB / sの速床でSDRAMメモリをコピヌしたすDMAを䜿甚せずにプロセッサ手段を䜿甚、TCP /を送信したす4〜5 MB / sの速床を備えた100 Mbpsの組み蟌みむヌサネットコントロヌラヌを介したIPデヌタDMAを䜿甚しない、぀たり最適化の予玄がありたす。 理想的には、コントロヌラヌは数分ですべおのカレンダヌを同期し、個々のナヌザヌにずっおは、これは䞀般に数秒で実行できるこずがわかりたした。 しかし、実際には、プロトコルずシナリオによっおは、すべおが通垞理想からかけ離れおいたす。



むベント/タスクを操䜜するために、ナヌザヌがWebDAV / CalDAVプロトコルデスクトップPCのOutlook、Evolution、SunBird、Thunderbird + Lightningなど、iPhone / iPadのiCALなどでカレンダヌクラむアントを䜿甚するずしたす。 、およびサヌバヌ、それぞれ、これらのプロトコルをサポヌトするWebサヌバヌ。 ただし、クラむアント゜フトりェアのパフォヌマンスはテストせず最新のPCでは十分であるこずは明らかです、特定のGWSモデルのパフォヌマンスはテストしたせん倧幅に遅くなるこずは明らかですが、このタむプのタスクのネットワヌク操䜜におけるコントロヌラヌずPCの力の比率はテストしたせん。 カレンダヌを同期する堎合、クラむアント゜フトりェアはいく぀かのHTTP / WebDAVコマンドOPTIONS、PROPFIND、GET、PUTを䜿甚しお、ほずんどの時間をPROPFINDコマンドに費やし、指定された条件を満たすサヌバヌ䞊のむベントのリストからサブセットを遞択したす。 原則はメヌルの受信時ずほが同じです-「新機胜」が怜出され、新しいメヌルがダりンロヌドされたすさらに、メヌルずは異なり、たずえばNNTPニュヌスのように、サヌバヌ䞊にないものが怜出され、PUTコマンドによっお送信されたす。 簡単にするために、最初の段階では、ApacheBenchでGETのみをテストしたす。 1぀のタスクを受信する最適でないクラむアントをシミュレヌトしお、単䞀のGETリク゚ストで倚数の䞊列の個別の短い接続を開始したしょう。 キヌプアラむブモヌドで耇数のGETを䜿甚しお長い接続を実行し、PROGETをmultigetでシミュレヌトしたす。 各テストでは、数癟の短いファむルを受け取り、1日たたは数日ですべおのタスクを受け取る個々のナヌザヌの同期セッションをシミュレヌトしたす。



鉄 4GB RAMず6x6 cmのARM搭茉HonixBoxを搭茉したオフィスPCず経枈的なAMD E350プロセッサ消費電力は最初のPentiumた​​たは最新のAtomに近く、最初のPentiumよりも2桁高く、Atomよりも倧幅に高いず比范したす。 Cortex-M3TI LM3S9B95および8 MBのRAM。 それらは同じキャビネット内の同じ100Mbitスむッチに接続され、abが実行されおいる同じオフィス内のコンピュヌタヌからさらに2぀のスむッチギガビットで分離され、クラむアントを暡倣したす。



柔らかい Windows甚のnginx / 1.0.14サヌバヌ珟圚の安定ビルドずしお、Windows 8ベヌタ64ビットはPC䞊で実行されたす。 HonixBox-自家補のコンパむラによっおコンパむルされた自家補のOS䞊の自家補のWebサヌバヌこのタスクに察する特別な最適化なし-サヌバヌはHonixBoxの䞻芁な「職業」であるネットワヌク統蚈を提䟛するために䜜成されたした。玄500バむトのコヌドがシステム党䜓のアセンブラヌで䜜成され、 HonixBoxの元のタスクは非垞に単玔だったため、それ以倖はすべお最適化なしでFortで蚘述されおいたす。これがコントロヌラヌに実装された理由です。



テスト䞭です。 最初は、HonixBox珟圚のHonixBoxの蚭定ず芁玄統蚈を含むペヌゞを衚瀺する小さなスクリプトおよびphpInfoでphpInfoを実行するために「/」を芁求したしたが、FastCGIモヌドのWindowsでのPHPはnginxの実行䞭に500芁求たで生き残れたせん-それは飛びたす。 特にWebDAVのカレンダヌは静的ファむルのセットであるため、静的ファむルに切り替えたした私の人生で初めおnginxを実行したした。



ab -n 500 -c 100 192.168.0.156/favicon.icoVTODOに近いサむズのHonixBox䞊の唯䞀のファむル。nginxでは、短いindex.htmlをリク゚ストしたす-䞀床に100人のクラむアントが500個のタスクを取埗するこずをシミュレヌトしたす。



Nginxの結果

テストにかかった時間1.994990秒

完党なリク゚スト500

倱敗したリク゚スト0

曞き蟌み゚ラヌ0

転送された合蚈181000バむト

転送されるHTML75500バむト

1秒あたりのリク゚スト数250.63 [/ sec]平均

リク゚ストあたりの時間398.998 [ms]平均

リク゚ストごずの時間3.990 [ms]平均、すべおの同時リク゚スト党䜓

転送速床88.22 [キロバむト/秒]受信



HonixBox結果

テストにかかった時間10.466127秒

完党なリク゚スト500

倱敗したリク゚スト0

曞き蟌み゚ラヌ0

転送された合蚈211500バむト

転送されるHTML159000バむト

1秒あたりのリク゚スト47.77 [/秒]平均

リク゚ストあたりの時間2093.225 [ms]平均

リク゚ストごずの時間20.932 [ms]平均、すべおの同時リク゚スト党䜓

転送速床19.68 [Kバむト/秒]受信



コントロヌラヌに察するPCの5倍の優䜍性。 䞡方のケヌスで最終転送レヌトが䜎いこずに泚意しおください-わずか20-90 KB / sです。 ほずんどの堎合、速床は䞻に倚くのTCP接続のむンストヌル/切断の遅延によっお制限されたす圓事者は互いに確認を埅っおいたす。 ただし、1秒あたりのリク゚スト数は、カレンダヌの同期たたは電子メヌルの受信の䞀般的な速床ず䞀臎しおいたす。



-cを削陀し、 -k キヌプアラむブを远加したす-Nginxは毎秒259リク゚スト、HonixBoxは52に加速されたす。 シングルスレッドバヌゞョン個々のクラむアントは、Nginxでは2秒、HonixBoxでは10秒で500タスクを受け取りたす。 -c 10を远加したす10個のクラむアントが䞀床に50個のタスクを取埗したす-Nginxは最倧424 s / sの速床になり、HonixBoxは52のたたで、今回は8回倱われたす。



結果は私が予想したよりも悪いです-WindowsでApacheBenchに䜕か問題があったずいう疑いさえありたしたが、PCずコントロヌラヌの力の最終的な比率はおそらく「ab」に䟝存したせん。 そしお、制限芁因はプロセッサ速床ではなく、ネットワヌクこれら2台のマシン間のFTP経由では、11MB / sの速床は䞊蚘のテストの暙準速床の100倍ですがおよびさらに倚くの䜜業スキヌム-倚くの小さなオブゞェクト、個別のHTTP芁求によっお受信されたす。 さお、そしお最も重芁なこずずしお、PCサヌバヌずコントロヌラヌサヌバヌ間の発射速床の差は、予想どおり5〜8倍であり、少なくずも50倍ではありたせんが、コントロヌラヌ䞊の゜フトりェアには未凊理の最適化スペヌスがあり、PC未䜿甚電力の膚倧なリザヌブ-Nginxはこのテストで負担をかける必芁がなく、䞻にI / Oを埅っおいたした。 しかし、珟圚のバヌゞョンでは、䞡方のサヌバヌは、たずえば実際のWebDAVサヌバヌを備えたLightningで䜜業しおいる堎合に通垞芳察される速床たたはさらに遅い速床でデヌタを発行したす。 ぀たり ナヌザヌは違いに気付かないでしょう。 Groupwareモヌドで実際の䜜業でPCずコントロヌラヌを比范するこずはさらに興味深いでしょう。 私以倖の誰かが興味を持っおいるなら、次回もやりたす。



All Articles