BLOGS

12.1

warning: file_get_contents(http://www.telize.com/geoip/54.198.55.167) [function.file-get-contents]: failed to open stream: HTTP request failed! in /var/www/www.4d.com/docs/includes/common.inc(1762) : eval()'d code on line 4.

64-bitでのシーケンシャルソート

64-bit環境におけるシーケンシャルソート

パフォーマンスにおける拡張性の効果をお見せするために、32-bitおよび64-bitバージョンの4D Server v12を使用して、シーケンシャルソートにかかる時間を比較しました。ソートでは比較に使用する一時的なデータを格納するメモリが必要になります。4D Serverはこの種の処理にキャッシュを使用せず、“エンジンメモリ” (キャッシュの外に4D Serverが割り当てることのできる仮想メモリ) 内のメモリを割り当てます。今回のテストでは両環境でキャッシュに同じサイズを設定しました。必要な一時メモリの量が大きくなると、32-bitバージョンでは物理メモリ内に一時メモリ領域を確保できなくなります。そこでOSはディスクにメモリをスワップします。スワップが発生するということは遅くなるということです。ディスクアクセスはミリ秒単位で計測され、RAMアクセスはマイクロ秒単位で計測されます。64-bitバージョンでは、4D Serverは必要なメモリをすべてRAMでまかなうことができます。

 

4D Server v12 64-bitでのクエリ

キャッシュサイズを増やしてクエリをスピードアップ

拡張性とは通常、速度のことではありません。より多くのメモリを割り当てられることで、アプリケーションの動作が速くなるわけではありませんが、より重いロードをサポートできるようになります。しかし動作が速くなることもあります。これは4D Serverがより多くのRAMを使用できるようになるためです。典型的な例はキャッシュサイズです。32-bitバージョンではキャッシュに最大2.3GBを割り当てることができます。(残りは接続やプロセス、ユーザー、コードを処理するためにエンジンが使用します。) 64-bitバージョンにはこの制限がなく、キャッシュにすべてのレコードインデックスを格納することができます。これによりアプリケーションが速くなります。すべてのデータをキャッシュに置くことができることで、4D Serverは (空きスペースを作ってユーザーがリクエストしたレコードをロードする等のために) それをパージする必要はなくなります。レコードはすでにキャッシュにあり、ディスクとのスワップは発生しません。

 

この動作をお見せするために、同じテーブルに対するシーケンシャルクエリを2回実行して時間を比較しました。

 

4D Server v12 64-bitの拡張性

拡張性: 510ユーザーと64-bitバージョンの4D Server v12

フルロードの拡張性を検証するために、32-bitと64-bit、2つの4D Server v12.1に対して510のクライアントから同時接続する様子を観察します。各クライアントは2つの異なるプロセスでクエリー/作成/削除を行います。これらの処理を行う間、統計データを収集します。

 

言語対応表

Tue, 2010-11-30 13:54

SVG エリア

4Dに統合された、パワフルなSVGの能力を利用したSVG Areaコンポーネントが提供され、ユーザーインターフェースで操作可能なSVGフィールドを作成できるようになりました。

SVG Areaフィールドでは手作業またはプログラミングでベクターグラフィックを作成し、ホストアプリケーションのデータと関連付けることができます。シェープ、カラー、そして4D標準の塗りつぶしパターンがサポートされ、さらにリンク形式でビットマップイメージを含めることもできます。エリアの内容はレコードとして保存したり、SVGファイルとして書き出したりすることができます。

 

SVG Area

 

OS対応表

Thu, 2010-11-18 17:00