Apache Web Server 2 Compaq ActiveAnswers Deskpro Compaq Insight Manager Fastart Systempro Systempro/LT ProLiant ROMPaq Qvision SmartStart NetFlex Quic

Similar documents
Standard Features 550MHz ProLiant 6400R 6/550-2M /550-1M / MHz ProLiant 6400R 6/500-

: CR (0x0d) LF (0x0a) line separator CR Mac LF UNIX CR+LF MS-DOS WINDOWS Japan Advanced Institute of Science and Technology

Guidelines CZ-0400A-WWEN Storage Products Group Compaq Computer Corporation ProLiant DL360 Telco ProLiant DL

Pentium III Standard Features 600MHz ProLiant 3000R 6/ Smart3200 Wide Ultra2 550MHz ProLiant 3000R 6/

A/B (2018/10/19) Ver kurino/2018/soft/soft.html A/B

PROLIANT ML

Active Directory Micky BAlladelli Senior Consultant Compaq Services Applied Microsoft Technologies Group Compaq Computer Corporation Windows 20

:30 12:00 I. I VI II. III. IV. a d V. VI

1 C STL(1) C C C libc C C C++ STL(Standard Template Library ) libc libc C++ C STL libc STL iostream Algorithm libc STL string vector l

ex14.dvi

Guidelines and Best Practices H-0400A-WWEN Industry Standard Servers Division Compaq Computer Corporation

konicaminolta.co.jp PageScope Net Care

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV

sg_lenovo_os.xlsx

I. Backus-Naur BNF : N N 0 N N N N N N 0, 1 BNF N N 0 11 (parse tree) 11 (1) (2) (3) (4) II. 0(0 101)* (

I. Backus-Naur BNF S + S S * S S x S +, *, x BNF S (parse tree) : * x + x x S * S x + S S S x x (1) * x x * x (2) * + x x x (3) + x * x + x x (4) * *


:30 12:00 I. I VI II. III. IV. a d V. VI

untitled

Original : Hello World! (0x0xbfab85e0) Copy : Hello World! (0x0x804a050) fgets mstrcpy malloc mstrcpy (main ) mstrcpy malloc free fgets stream 1 ( \n

OVERVIEW ProLiant ML110 Storage Server ProLiant ML110 Storage Server A C D () 4 SATA RAID Ultra320 SCSI Serial ATA 3.5 DVD-ROM DVD-ROM ProLia

卒 業 研 究 報 告.PDF

ServerViewのWebアクセス制限方法

VNSTProductDes3.0-1_jp.pdf

mstrcpy char *mstrcpy(const char *src); mstrcpy malloc (main free ) stdio.h fgets char *fgets(char *s, int size, FILE *stream); s size ( )

1 1.1 C 2 1 double a[ ][ ]; 1 3x x3 ( ) malloc() 2 double *a[ ]; double 1 malloc() dou

SharePoint 2003 Performance White Paper

Microsoft PowerPoint - kougi9.ppt

▼ RealSecure Desktop Protector 7

1 1.1 C 2 1 double a[ ][ ]; 1 3x x3 ( ) malloc() malloc 2 #include <stdio.h> #include

install_guide.PDF

Northern Lights Server

OVERVIEW ProLiant ML110 G2 Storage Server ProLiant ML110 G2 Storage Server A C D SATA NH 320GB 01 (1TB) (1TB) Ultra320 SCSI 6 SATA RAID Serial

超初心者用

ProLiant DL380 SAN Storageモデル システム構成図

HP ProLiant Gen8とRed Hatで始めるHadoop™ ~Hadoop™スタートアップ支援サービス~

OVERVIEW hp StorageWorks NAS 500s hp StorageWorks NAS 500s A C D () 4 SATA RAID Ultra320 SCSI Serial ATA 3.5 DVD-ROM hp StorageWorks NAS 500s

計算機プログラミング

install1_5_1.book

ExpressUpdate Agent インストレーションガイド


目次 1 はじめに 登録商標 商標 注意事項 免債事項 SR-IOV の機能概要 性能検証事例 測定環境 測定結果 各方式による共有 NIC 性能比較 ( ポートあ

SmartLMSユーザーズガイド<講師編>

演算増幅器

SANworks

ExpressUpdate Agent インストレーションマニュアル

LAPLINK ヘルプデスク 導入ガイド

/* sansu1.c */ #include <stdio.h> main() { int a, b, c; /* a, b, c */ a = 200; b = 1300; /* a 200 */ /* b 200 */ c = a + b; /* a b c */ }

PrintWalker/LXE インストールガイド

IP L09( Tue) : Time-stamp: Tue 14:52 JST hig TCP/IP. IP,,,. ( ) L09 IP (2017) 1 / 28

ExpressUpdate Agent インストレーションガイド

rzat10pdf.ps

今から間にあう仮想化入門とXenについて


新・明解C言語 ポインタ完全攻略

OVERVIEW ProLiant ML330 ProLiantML330(P1266)ATA PAQ V 0 A IDE CD-ROM PCI 64 PCI ( ) A B B B C D E 0 1 (1 ) (IDE ) 3.5 (1 ) (SCSI ) ProLi

新版明解C言語 実践編

ProLiant ML110 システム構成図

PROLIANT ML

Microsoft PowerPoint pptx

C G I 入 門 講 座

void hash1_init(int *array) int i; for (i = 0; i < HASHSIZE; i++) array[i] = EMPTY; /* i EMPTY */ void hash1_insert(int *array, int n) if (n < 0 n >=

HP Server tc2120 Microsoft Windows 2000 Server SP3 HP P

Taro-リストⅢ(公開版).jtd

C言語によるアルゴリズムとデータ構造

情報処理演習 B8クラス

PDF.PDF

... 3 Oracle on Linux I/O I/O... 5 I/O io_request_lock... 6 I/O GB RAM SGA GB RAM Very Large M

インストール取扱説明書

untitled

Minimum C Minimum C Minimum C BNF T okenseq W hite Any D

program.dvi

ProLiant ML110 Generation 4 システム構成図

lexex.dvi

untitled

ExpressUpdate Agent インストレーションガイド

Recovery Managerのバックアップおよびリカバリの最適化

VNXe3300 ハードウェア情報ガイド

PowerPoint プレゼンテーション

Express5800/120Ed

FileMaker Server 9 Getting Started Guide

プログラミング基礎

HP ProLiant ML310 Generation 3 システム構成図

C による数値計算法入門 ( 第 2 版 ) 新装版 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. このサンプルページの内容は, 新装版 1 刷発行時のものです.

untitled

rzal5pdf.ps

(2 Linux Mozilla [ ] [ ] [ ] [ ] URL 2 qkc, nkc ~/.cshrc (emacs 2 set path=($path /usr/meiji/pub/linux/bin tcsh b

Microsoft PowerPoint - DNS_BoF_SCS_ pptx

新・明解C言語 実践編

‚æ4›ñ

ExpressUpdate Agent インストレーションガイド

ExpressUpdate Agent インストレーションガイド

£Ã¥×¥í¥°¥é¥ß¥ó¥°ÆþÌç (2018) - Â裵²ó ¨¡ À©¸æ¹½Â¤¡§¾ò·ïʬ´ô ¨¡

PowerPoint プレゼンテーション

tutorial_lc.dvi

Oracle Application Server 10g(9

名称未設定

インストール取扱説明書

Java updated

Oracle Application Server 10g( )インストール手順書

Transcription:

Technical Guide 1999 5 Internet and E-Commerce Solutions Business Unit Enterprise Solutions Division Apache Web Server Compaq Linux Apache HTTP Compaq Computer Corporation...3...3...4...5...6...7...7...7...8...10...10...16...16 CGI...16 CGI...17 CGI...18 CGI...19

Apache Web Server 2 Compaq ActiveAnswers Deskpro Compaq Insight Manager Fastart Systempro Systempro/LT ProLiant ROMPaq Qvision SmartStart NetFlex QuickFind PaqFax Prosignia Compaq Computer Corporation Netelligent Systempro/XL SoftPaq QuickBlank Compaq Computer Corporation Linux Linus Torvalds Pentium Intel Corporation 1999 Compaq Computer Corporation. All rights reserved. Printed in Japnan. 1999 Apache Web Server Technical Guide Enterprise Solutions Division 1 1999 5

Apache Web Server 3 Linux Apache Web Server SuSE 6.0 Linux Linux Apache HTTP Server Linux Web Linux Apache HTTP Server 2 CPU Apache HTTP Server CPU Compaq Sizer for Apache Web Server On Linux Web Compaq ActiveAnswers Web http://www.compaq.com/activeanswers/

Apache Web Server 4 Web Compaq ProLiant 1850R 1 1 ProLiant 1850R Pentium II 450MHz 512 KB 1 2 128MB 256MB 512MB 10/100 TX UTP Compaq PCI Netelligent Intel NIC 9.1GB 10000 RPM SCSI OS 1 4.3GB 10000 RPM SCSI 1

Apache Web Server 5 1 SUT 1 SUT 2 100BaseTx 2 テスト対象のシステムユニットコントローラ 負荷生成用ステーション サーバ ワークステーション コンピュータコンピュータコンピュータコンピュータコンピュータコンピュータ HUB コンピュータコンピュータコンピュータコンピュータコンピュータコンピュータ HUB コンピュータコンピュータコンピュータコンピュータコンピュータコンピュータ HUB コンピュータコンピュータコンピュータコンピュータコンピュータコンピュータ HUB 1

Apache Web Server 6 Compaq ProLiant 1850R SuSE Linux 6.0 Apache HTTP Server 1.3.4 Linux 2.2.4 2.2.4 /usr/src/linux.config 2.2.4 1 crond klogd httpd inetd 2 Linux Apache Linux Web 3 64MB 256MB 512MB 3 CGI 4 CGI Web Bench 2.0 HTML CGI Web CGI CGI simcgi Web Bench 2.0 CGI Web CGI CGI ID 1 ActiveAnswers 2 inctd 3 6kB 4 CGI

Apache Web Server 7 HTTP Ziff-Davis WebBench 2.0 5 CPU 3 2 6 10 4 5 1 vmstat Web Ziff-Davis WebBench 2.0 Web Web Apache HTTP Server MaxClient Web TCP/IP Linux TCP/IP 2.2.3 2.2.4 5 CPU 100 6 2 3

Apache Web Server 8 Apache Web Linux crond klogd httpd inetd SuSE YaST Caldera LISA OpenLinux 1.3 Red Hat linuxconfig /etc/rc.d /etc/rc.d/init.d /etc/sysconfig inode Web echo 16384 > /proc/sys/fs/file-max echo 49152 > /proc/sys/fs/inode-max Linux /proc top vmstat inode 2.2.4 4 Web 4 Apache Apache Web http://www.apache.org/docs/misc/perf-tuning.html httpd.conf HostnameLookups off <Files ~ "\.(html cgi)$> HostnameLookups on </Files>

Apache Web Server 9 httpd.con httpd.conf DocumentRoot /usr/local/httpd/htdocs <Directory /> AllowOverride none </Directory> httpd.conf DocumentRoot /usr/local/httpd/htdocs <Directory /> Options -FollowSymLinks </Directory> <Directory /cgi-bin> Options FollowSymLinks </Directory> httpd.conf DirectoryIndex index.html httpd httpd.conf MinSpareServers 50 MaxSpareServers 150 MaxRequestsPerChild 3,000,000 MaxClient 256 StartServers 150 Web OS /var/log httpd.access_log httpd.error_log noatime Web OS noatime Apache

Apache Web Server 10 Linux 2.2.4 Linux 2.2.4 6x86 ProLiant 1850R.config 7 CGI Web Web HTML Web CPU Web 1 T1 Linux Apache HTTP T1 1 2 128MB Compaq 512MB 128MB 5 T1 7 ActiveAnswers

Apache Web Server 11 スループット : Mb/s 1 秒あたりのメガビット数 スループット : Mb/s 作業負荷のサイズ / メモリ量 2 5 7 T1 Web 1 T3 2 3 1 CGI 4 Web CGI CGI

リクエスト数 リクエスト数 Apache Web Server 12 静的コンテンツのリクエストに対する 1 秒あたりの処理数 リクエスト数 /s 64MB の作業負荷 256MB の作業負荷 512MB の作業負荷 メモリ 3 1

リクエスト数 リクエスト数 Apache Web Server 13 128MB における CGI と静的コンテンツのリクエスト処理数比較 リクエスト数 /s やや複雑な CGI 単純な CGI 静的コンテンツ 作業負荷のサイズ 4 128MB 1 CGI

リクエスト数 リクエスト数 Apache Web Server 14 256MB における CGI と静的コンテンツのリクエスト処理数比較 リクエスト数 /s やや複雑なCGI 単純なCGI 静的コンテンツ 作業負荷のサイズ 5 256MB 1 CGI

リクエスト数 リクエスト数 Apache Web Server 15 512MB における CGI と静的コンテンツのリクエスト処理数比較 リクエスト数 /s やや複雑なCGI 単純なCGI 静的コンテンツ 作業負荷のサイズ 6 512MB 1 CGI 4 5 6 Web

Apache Web Server 16 Web Web CGI Web Web Web 1GB 70 80 256MB 1 Web 5 T1 CGI 4 5 6 Web CGI 1 CGI 1. CGI 2. CGI 3. CGI CGI

リクエスト数 リクエスト数 Apache Web Server 17 CGI CGI CGI 7 1 8 1 プロセッサと 2 プロセッサの比較 1 秒あたりのリクエスト処理数 512MB メモリ 64MB の作業負荷 リクエスト数 /s シングルプロセッサデュアルプロセッサ 静的 単純な CGI リクエストの種類 やや複雑な CGI 7

パーセント Apache Web Server 18 2 基目のプロセッサを追加した場合の 1 秒あたりのリクエスト処理数の増加 静的単純な CGI やや複雑な CGI CGI 性能向上 8 2 CGI Web Web 2 CGI CGI

Apache Web Server 19 CGI #include <stdio.h> #include <stdlib.h> #include <unistd.h> int HexToDec( char c ) switch( c ) case '0': return 0; case '1': return 1; case '2': return 2; case '3': return 3; case '4': return 4; case '5': return 5; case '6': return 6; case '7': return 7; case '8': return 8; case '9': return 9; case 'a' : case 'A' : return 10; case 'b' : case 'B' : return 11; case 'c' : case 'C' : return 12; case 'd' : case 'D' : return 13; case 'e' : case 'E' : return 14; case 'f' : case 'F' : return 15; default: return 0; // uh-oh return 0; // uh-oh

Apache Web Server 20 void dump( char *p, FILE *fp, int len ) int iasciiescape; int iasciivalue; int i; char *pout; int j; pout = (char *)calloc( len, sizeof(char) ); iasciiescape = 0; j = 0; for( i = 0; i < strlen(p); i++ ) if( iasciiescape ) if( iasciiescape == 1 ) // first digit iasciivalue = HexToDec( p[i] ); iasciivalue *= 16; iasciiescape++; else // second digit iasciiescape = 0; iasciivalue += HexToDec( p[i] ); pout[j++] = iasciivalue; else if( p[i] == '+' ) pout[j++] = ' '; else if( p[i] == '&' ) // separator pout[j++] = '\n'; else if( p[i] == '%' ) // begin ASCII escape sequence iasciiescape = 1; continue; else pout[j++] = p[i]; pout[j] = '\0'; fprintf( stdout, "%s", pout ); fprintf( fp, "%s", pout ); free( pout );

Apache Web Server 21 main() pid_t id; int u; FILE *fp; char *p; char fn[64]; char buffer[2048]; id = getpid(); u = (int) id; sprintf( fn, "./File%d.dat", u ); fp = fopen(fn, "a+"); if(!fp )// could not open file printf( "Server-Type: Apache 1.3.4\n\n<html>\ <body><h1>could not open file./file.dat</h1></body></html>\ \r\n"); exit(-1); printf( "Server-Type: Apache 1.3.4\n\n<html>\ <body><p><strong>"); p = getenv("query_string"); fprintf( stdout, "QUERY_STRING:\n"); fprintf( fp, "QUERY_STRING:\n"); dump( p, fp, strlen(p) ); fprintf( stdout, "<br>post_data:\n"); fprintf( fp, "POST_DATA:\n"); while( (p = fgets( buffer, 2047, stdin))!= NULL ) dump( p, fp, 2048 ); printf( "</body></html>\r\n" ); fprintf( fp,\ "\n=============================================\n" ); fclose( fp ); return 0;