InfoQ ホームページ パフォーマンス&スケーラビリティ に関するすべてのコンテンツ
-
ScaleUpがIISのファイルアップロードに関する多くの制限を緩和する
LeanServerが、ファイルアップロードやMicrosoftのWebプラットフォームを苦しめているいくつかの問題を解決するため、ScaleUpというIIS 7.0の拡張機能を作成した。作者によれば、ScaleUpはアップロードの高速化、無制限のアップロードファイルサイズのサポート、1サーバ当り数千アップロードへのスケールアップ、進捗状況のレポート、ストリーミング、フィルタリングなどを提供する。
-
.NET 並列処理拡張のためのパターンとサンプル
Microsoft は 2007 年から .NET の並列処理拡張 (Parallel Extensions) に取り組んでいるが,それでも .NET 4.0 に実装完成が間に合わなかった機能が数多く残っている。“フレームワークのコアに含めるには,アプリケーション依存性が強すぎる” 機能もあったが,その他は単純にテストとユーザフィードバックの不足が理由だ。代わりとして彼らは,一連のパターンとサンプルをリリースすることにした。
-
ヒープサイズを増やしてもガベージコレクションの停止時間を短いままに: Cliff Click博士とのQ&A
ヒープサイズとガベージコレクションの停止時間にある強い相関関係が、Javaアプリケーションのスケーラビリティを制限する大きな要因のひとつになっている。そして、こうした状況を改善しようと、研究開発にかなりの労力が費やされている。Azulのソリューションについて、現在、Azul SystemsのチーフJVMアーキテクトであり、以前、HotSpot Server Compilerのアーキテクト兼リード開発者であったCliff Click博士に話をうかがった。
-
GoogleのNative ClientでWebアプリケーションのパフォーマンスを改善する
CPU負荷の高いWebアプリケーションのパフォーマンスを向上させるため、Googleはブラウザでネイティブコードの実行を可能にする技術、Native Clientを開発している。NetscapeのNPAPIやMicrosoftのActiveXプラグイン技術とは異なり、下層にあるOSへのアクセスを禁止するため、Native Clientは二重化されたサンドボックス内でコードを実行する。
-
Visual Studioは、Itaniumのサポートを中断する。
SQL Server 2008 R2、Windows Server 2008 R2、Visual Studio 2010は、IntelのItaniumプロセッサをサポートする最後のメジャーバージョンになるだろう。拡張サポートの8年間で、Itaniumへの投資をAMDのより一般的なアーキテクチャであるx64へ変更すること検討するべきである。
-
JRuby Roundup:JRuby-Profで高速プロファイリングが可能に、JRuby::Synchronizedで同期の自動化
JRuby-Profは、新しいオーバヘッドの小さいJRuby用のプロファイラで、単純なJavaプロファイラと違って、きれいなRuby固有のレポートを生成する。JRubyの新しいフィーチャであるJRuby::Synchronizedモジュールは、拡張すれば、クラスの全てのメソッドをsynchronizedにできる。
-
DiggとRedditがNoSQL陣営に入る
DiggとRedditは、今月中にCassandraへ移行することを発表した。彼らのサービスにとってMySQLのスケーラビリティでは不十分なのが原因だ。もはやMySQL + memcacheという構成がスケーラビリティの課題に対する解決策のデファクトではないと考えている人もいる。
-
GigaSpaces XAP 7.1 EA:弾力的なミドルウェア、データクエリそしてSpring 3.x
GigaSpaces XAPは、分散アプリケーションサーバで、インメモリでデータグリッドを持っている。XAP 7.1のリリースは、いくつものテーマを含んでいる:弾力的なミドルウェアサービス、仮想化互換性の強化、データクエリ、アップデートされたwebベースの管理アプリケーション、組込みのSpring 3.0、とパフォーマンス改善。InfoQは、このEAリリースを深く調べた。
-
最大人気のソーシャル・ゲーム、FarmVilleにおけるスケールアウト
月間アクティブ・ユーザ数8375万人のFarmVilleは、 Facebookで最も人気のあるゲームであると同時に、Webベースのインターネット・ゲームの中でも最も人気のあるゲームの一つだ。スケールアウトを実現するため、アプリケーションはクラウド内に配置され、キャッシュを大々的に使用している。また、ピーク時には一部の機能を停止できるような機能を備え、パフォーマンスの監視や管理も可能だ。
-
ConcurrentDictionaryは、.NET 4.0の新しいスレッドセーフなHashtable
ConcurrentDictionaryは、.NET 4.0で大幅に強化されるパラレルと並列プログラミングに対する礎石である。しかし、それについて調べる前に、以前のバージョンの.NETの問題点について確認してみよう。
-
動的言語総まとめ : PythonのGILが徹底改善されるも廃止はされない。SqueakがAndroidに移植された。
Pythonの高速化を支援するUnladen SwallowプロジェクトはメインストリームのPythonへ統合することを提案した。このプロジェクトの目標のひとつはGILを削除することだった。 Antoine Pitrou氏によるPythonの新しいGILはマルチコアCPU上で、よりスムーズに動くようになり、今までよりも邪魔にならなくるだろう。また、Squeak Smalltalk が Android上へ移植された。
-
Sunがパフォーマンスを大きく改善し、Windows 7サポートを追加したJava 6 update 18をリリース
SunはJava 6の今年最初のアップデートを行い、300を超えるバグフィックス、Windows 7 サポート、そして、かなりの数のパフォーマンスの改善を提供した。これらの中には、OSとしてSolarisかLinuxを使っているNUMAアーキテクチャマシンにおいて、既定のParallel Scavengerガベージコレクタを使った場合に30%-40%のパフォーマンスの改善を改善をもたらすものも含んでいる。
-
Ruby VM 総まとめ: 1.9.2のDTraceのサポート、Rubinius 1.0 RC2にインストーラの追加、IronRubyのIDE
Rubinius 1.0RC2 にバイナリのインストーラが加えられた。また、Ruby 1.9.2はDTraceがサポートされる。IronRubyはバージョン1.0に近づき、SharpDevelopはIronRubyをサポートする。また、WEBRickのユーザは最新のRuby 1.8.x か 1.9.1にアップグレードすべきだ。最近脆弱性がみつかったからだ。
-
Clojure 1.1,効率のためにトランジェントとチャンクシーケンスを追加
Clojure 1.1 RC1 が公開された。永続的データ構造に可変性の制御機能を与える "トランジェント(Tranjent)",遅延シーケンスを効率化する "チャンクシーケンス(Chunked Sequence)" の導入によって,関数プログラミングのコンストラクタに関するオーバーヘッドが改善されている。InfoQ では,これら改良点がどのように動作するかを調査した。
-
Accelerator V2を使ったマルチコアGPU/CPU上での並列プログラムの実行
現在、プレビュービルドとして提供されているAccelerator V2は、.NETのマネージ・ライブラリでマルチコアCPUやGPU上でのデータ並列プログラムを記述する際の手間を省いてくれるものだ。