amirjalili
پنج شنبه 21 آبان 1388, 10:48 صبح
با سلام خدمت دوستان..
همونطور كه ميدونيد تنظيمات default در tomcat مناسب براي سايت هايي با استرس كم هست و در ترافيك هاي بالاي شبكه ايجاد مشكل خواهد شد.
در اين صورت بايد تنظيماتي رو انجام داد كه سايت در اين صورت مشكل نداشته باشه.
در زير راهكارهايي رو براي اين كار بيان ميكنيم.
1:افزايش heap جاوا با دستور زير در command:
-Xms32m -Xmx128m
در اين مثال 32 حداقل مقدار heap و 128 حداكثر مقدار heap هست .
اين افزايش Heap رو ميتوانيد از قسمت config هاي tomcat در تب java نيز انجام بدهيد..
توجه كنيد كه ماكزيمم مقدار heap تا هشتاد درصد ram شما هست. (با توجه به چيزي كه در سايت هاي مرجع نوشته بود.)
2: در فولدر config تام كت در server.xml بايد مقاديري از كامبونت هاي tomcat را تغيير دهيد يا اضافه كنيد.
در زير ابتدا يك أشنايي كلي با component هاي tomcat خواهيم داشت :
همانطور كه ميدانيد انواع pool ها نقش مهمي در افزايش كارايي web application دارد.
انواع pool هاي تعريف شده در component هاي موجود در SERVER.XML عبارتند از :
1:Connector Thread Pool
Connector Thread Pool استخري از thread ها هست كه كانكشن هاي را از port هاي استاندارد tomcat قبول ميكند.
Connector Thread Pool نقش مهمي رو در ظرفيت عبور دهي tomcat دارد و هر درخواست منفرد به connector pool هدايت ميشود.
درصورتيكه اين pool كم باشد و تعداد request ها زياد باشد درخواست رد(deny) ميشود.
دو attribute در اين بخش وجود دارد كه عبارتند از :
- Minimum number of spare threads با مقدار پيش فرض 4
-Maximum number of threads in the pool با مقدار پيش فرض 200
طبق چيزي كه من در سايت ها ديدم مقدار اين Maximum number of threads بين 500 تا 750 اگر تنظيم بشه مناسبه و اگر 1000باشه بايد tomcat رو cluster كرد. اميدوارم دوستان هم در اين مورد كمك كنند.
2:Database Connection Pool
كامپونت Database Connection Pool در همه اپليكيشن هاي j2ee بسيار مهم است.
به صورت پيش فرض دو attribute وجود دارد :
idle connections: كانكشن هاي أزاد در استخر
max active connection : كانكشن هاي فعال در استخر
اگر connction ها تحليل برود application قادر به ارتباط با ديتابيس نخواهد بود.
شما بايد با توجه به werb application خود اين مقادير رو تنظيم كنيد.
باز هم اگر دوستان و اساتيد تجربه اي راجع به مقدار اين attribute ها دارند بيان كنند.
من خود حداكثر مقدار max active connection رو كه ديدم 100 بوده اما با توجه به نوع سايت و حجم استفاده از ديتابيس متفاوته.
البته attribute هاي ديگه اي هم وجود داره كه بعدا راجع بهشون صحبت خواهيم كرد.
از دوستان هم ميخوام اگر اطلاعاتي دارن در اختيار دوستان قرار دهند.
اميدوارم مفيد بوده باشه.
همونطور كه ميدونيد تنظيمات default در tomcat مناسب براي سايت هايي با استرس كم هست و در ترافيك هاي بالاي شبكه ايجاد مشكل خواهد شد.
در اين صورت بايد تنظيماتي رو انجام داد كه سايت در اين صورت مشكل نداشته باشه.
در زير راهكارهايي رو براي اين كار بيان ميكنيم.
1:افزايش heap جاوا با دستور زير در command:
-Xms32m -Xmx128m
در اين مثال 32 حداقل مقدار heap و 128 حداكثر مقدار heap هست .
اين افزايش Heap رو ميتوانيد از قسمت config هاي tomcat در تب java نيز انجام بدهيد..
توجه كنيد كه ماكزيمم مقدار heap تا هشتاد درصد ram شما هست. (با توجه به چيزي كه در سايت هاي مرجع نوشته بود.)
2: در فولدر config تام كت در server.xml بايد مقاديري از كامبونت هاي tomcat را تغيير دهيد يا اضافه كنيد.
در زير ابتدا يك أشنايي كلي با component هاي tomcat خواهيم داشت :
همانطور كه ميدانيد انواع pool ها نقش مهمي در افزايش كارايي web application دارد.
انواع pool هاي تعريف شده در component هاي موجود در SERVER.XML عبارتند از :
1:Connector Thread Pool
Connector Thread Pool استخري از thread ها هست كه كانكشن هاي را از port هاي استاندارد tomcat قبول ميكند.
Connector Thread Pool نقش مهمي رو در ظرفيت عبور دهي tomcat دارد و هر درخواست منفرد به connector pool هدايت ميشود.
درصورتيكه اين pool كم باشد و تعداد request ها زياد باشد درخواست رد(deny) ميشود.
دو attribute در اين بخش وجود دارد كه عبارتند از :
- Minimum number of spare threads با مقدار پيش فرض 4
-Maximum number of threads in the pool با مقدار پيش فرض 200
طبق چيزي كه من در سايت ها ديدم مقدار اين Maximum number of threads بين 500 تا 750 اگر تنظيم بشه مناسبه و اگر 1000باشه بايد tomcat رو cluster كرد. اميدوارم دوستان هم در اين مورد كمك كنند.
2:Database Connection Pool
كامپونت Database Connection Pool در همه اپليكيشن هاي j2ee بسيار مهم است.
به صورت پيش فرض دو attribute وجود دارد :
idle connections: كانكشن هاي أزاد در استخر
max active connection : كانكشن هاي فعال در استخر
اگر connction ها تحليل برود application قادر به ارتباط با ديتابيس نخواهد بود.
شما بايد با توجه به werb application خود اين مقادير رو تنظيم كنيد.
باز هم اگر دوستان و اساتيد تجربه اي راجع به مقدار اين attribute ها دارند بيان كنند.
من خود حداكثر مقدار max active connection رو كه ديدم 100 بوده اما با توجه به نوع سايت و حجم استفاده از ديتابيس متفاوته.
البته attribute هاي ديگه اي هم وجود داره كه بعدا راجع بهشون صحبت خواهيم كرد.
از دوستان هم ميخوام اگر اطلاعاتي دارن در اختيار دوستان قرار دهند.
اميدوارم مفيد بوده باشه.