জেএসএফ কি উচ্চ পারফরম্যান্স ওয়েব অ্যাপ্লিকেশন সরবরাহ করতে সত্যিই প্রস্তুত? [বন্ধ]


16

আমি জেএসএফ সম্পর্কে অনেক ভাল শুনেছি তবে যতদূর আমি জানি মানুষ অতীতে এই প্রযুক্তি নিয়ে প্রচুর গুরুতর অভিযোগ করেছিল, পরিস্থিতি কতটা উন্নতি করেছে তা অবগত নয়। আমরা জেএসএফকে একটি সামাজিক নেটওয়ার্ক প্রকল্পের সম্ভাব্য প্রযুক্তি হিসাবে বিবেচনা করছি। তবে আমরা জেএসএফের পারফরম্যান্স স্কোর সম্পর্কে সচেতন নই আমরা জেএসএফ ব্যবহার করে আসা কোনও উচ্চতর পারফরম্যান্স ওয়েবসাইটই সত্যই উপস্থিত করতে পারিনি। লোকেরা এর কর্মক্ষমতা স্কেলিবিলিটি সমস্যা সম্পর্কে অভিযোগ করে।

আমরা জেএসএফ বাছাই করে সঠিক জিনিসটি করা হচ্ছে কিনা তা এখনও আমরা নিশ্চিত নই, এবং এইভাবে আপনার কাছ থেকে এই বিষয়ে শুনতে এবং আপনার ইনপুটগুলি বিবেচনায় নিতে চাই।

সামাজিক নেটওয়ার্কিং পরিষেবার উচ্চ কার্যকারিতা চাহিদা পূরণের জন্য কী জেএসএফ কনফিগার করা সম্ভব? এছাড়াও জেএসএফের বর্তমান সমস্যাগুলির সাথে কতটা বেঁচে থাকা সম্ভব। এর সমস্যাগুলি আসলে কী?


আমি না JSF সঙ্গে উন্নয়ন জটিলতার অন্যেরা কী সাধারণত সম্পর্কে অভিযোগ সম্পর্কে চিন্তিত কারণ আমার ব্যক্তিগত অভিজ্ঞতা অনুযায়ী আমি বিশ্বাস করি যে সব সত্য নয়, কিন্তু আমি আরো কি পারফরমেন্স এবং স্কেলেবিলিটি বিষয় সম্পর্কে সংশ্লিষ্ট নই। এবং দয়া করে এটি কেবল পূর্ববর্তী সংস্করণগুলির সাথে যুক্ত তার পুরানো সমস্যাগুলিতে অপব্যবহার করবেন না। আমি কেবল বর্তমান রাষ্ট্র সম্পর্কে যা কিছু অতীত ছিল তা যত্নশীল।


7
ptrthomas.wordpress.com/2009/05/15/jsf-sks আমি জানি যে জেএসএফের প্রধান স্থপতি দ্বারা এমন একটি প্রতিক্রিয়া এসেছে যা প্রতিটি সিদ্ধান্তকে ন্যায্যতা দেয়, তবে আমার কাছে এমন কেউ, যা কিছু ওয়েব প্রযুক্তি জানেন এবং যিনি ভোগ করেছেন এমনকি জেএসএফ দিয়েও ২.০, ফেসলেটস এবং এসইএম, এটি মশকরা। এমনকি জেমস গোসলিং বলেছেন: "আমি জেএসএফকে একটি আবেগের সাথে ঘৃণা করি।" আমি উইকেট বা টেপস্ট্রি ব্যবহার করতাম এবং জেএসএফ এবং এর সমস্যাগুলি পুরোপুরি এড়িয়ে চলতাম।
ফ্যালকন

12
@ থরবজর্ন রাভানআন্দারসেন আমি আপনার সাথে আলতোভাবে দ্বিমত পোষণ করছি। আমি মনে করি কেবল বলার চেয়ে আরও ব্যাখ্যা প্রদান করা ভাল: "আমি জেএসএফকে ঘৃণা করি"
চিরন

6
@ থরবজরন রাভানএন্ডারসেন আমি আপনার বক্তব্যটি বুঝতে পেরেছি তবে আমি সত্যই লোকেদের আরও তথ্য সরবরাহ করতে উত্সাহিত করি। উদাহরণস্বরূপ, কোনও মন্তব্য ছাড়াই ডাউন ভোট আমাকে সর্বদা বিরক্ত করে।
চিরন

3
@ চিরন, জেএসএফ ব্যবহারযোগ্য কিনা তা প্রশ্ন নয়, তবে জেএসএফকে পারফরম্যান্স করা যায় কিনা। লোকেরা যারা কাঠামোটি নীচে রেখে শুরু করে, সম্ভবত তারা আসল প্রশ্নের উত্তর দিতে পারে না। নিজে নিজে একটি জেএসএফ অ্যাপ্লিকেশন বজায় রেখে, আমিও এটি জানতে চাই।

3
> এমনকি জেমস গোসলিং বলেছেন: "আমি জেএসএফকে একটি আবেগের সাথে ঘৃণা করি।" - এটি জাসপ বলতে চেয়েছিলেন, এটি একটি ভুল ছিল এটি সর্বজনবিদিত। প্রশ্নে খণ্ডটি মনোযোগ সহকারে শুনুন। এটি ক্লাসিক এএসপির প্রতিক্রিয়াতে কী তৈরি হয়েছিল তা সম্পর্কে এবং এটি ছিল জেএসপি, জেএসএফ নয়।
আরজান তিজমস

উত্তর:


24

জেএসএফ উচ্চতর পারফরম্যান্স ওয়েব অ্যাপ্লিকেশন সরবরাহ করতে সুনির্দিষ্টভাবে সক্ষম। আমি বর্তমানে যে অ্যাপটিতে কাজ করছি এটি সম্পূর্ণ জেএসএফ এবং লগের পরিসংখ্যান থেকে আমি দেখতে পাচ্ছি যে অনেকগুলি নন-ডিবি নিবিড় পৃষ্ঠায় ন্যূনতম মৃত্যুর সময় 0 মিমি এবং 10 বারেরও কম সময় গড় হয় have

কিছু উইকেট ছেলেরা জেএসএফের পারফরম্যান্স সম্পর্কে কিছু কথা বলে আসছে, তবে এই বিস্তৃত মানদণ্ড অনুসারে জেএসএফ আসলে উইকেটের চেয়ে ভাল পারফর্ম করেছে: http://prezi.com/dr3on1qcajzw/www-world-wide-wait-devoxx-edition/

লক্ষ্য করুন যে যতক্ষণ না সার্ভারটি স্যাচুরেটেড না হয়, ততক্ষণ জেএসএফ জিডাব্লুটিটির চেয়েও ভাল সম্পাদন করে। জিডব্লিউটি / জেএসএফ বেঞ্চমার্কের তুলনা যদিও ততই কঠিন, যেহেতু জিডাব্লুটিটির জন্য সার্ভার জেএসএফের পোস্টব্যাকের ডেটা রূপান্তর এবং বৈধতা যাচাই করাও সত্য। এটি এমন একটি বিষয় যা আপনি কেবল অনুশীলনে ছেড়ে যেতে পারবেন না (ক্লায়েন্টকে বিশ্বাস করবেন না)। এছাড়াও, জিডব্লিউটি বনাম জেএসএফ / উইকেট গ্রাফগুলির জন্য, এটি বিবেচনায় নেওয়া উচিত যে ব্রাউজারটির রেন্ডারিং পদক্ষেপটি জেএসএফ / উইকেটের (যেহেতু তারা বেশিরভাগ রেডি-টু-রেন্ডার এইচটিএমএল পরিবেশন করে) জন্য তুচ্ছ, তবে জিডব্লুটি ক্লায়েন্টের এখনও কিছু কাজ রয়েছে সার্ভারের প্রতিক্রিয়া পাওয়ার পরে করবেন।

পুরানো জেএসএফ সংস্করণগুলির (2.0 এর পূর্বে) যে বড় পারফরম্যান্স / স্কেলাবিলিটি ইস্যু ছিল সেগুলির মধ্যে একটিতে খুব বেশি ডেটা রেখে রাষ্ট্রীয় সংরক্ষণকে অপব্যবহার করা হয়েছিল। যে জিনিসগুলি একেবারে সেখানে রাখা উচিত ছিল না (যেখানে 'ফু'-র মতো ধ্রুবক রয়েছে <my:tag attribute="foo"/>)।

জেএসএফ ২.০ partial state savingমেকানিজমটি চালু করেছে , যার অর্থ কেবল ডেল্টা রাষ্ট্র সংরক্ষণ করা হচ্ছে। অনুশীলনে এটি খুব সামান্য হতে পারে এবং জেএসএফ 1.x এর তুলনায় প্রস্থের দুটি আদেশের হ্রাস অস্বাভাবিক নয়।

জেএসএফ ব্যবহার করার বহু বছর পরে, আমি বলতে পারি যে জেএসএফ 1.x-এ খুব বেশি রাষ্ট্র সঞ্চয় করা ব্যতীত আমি জেএসএফের সাথে যে কোনও পারফরম্যান্স ইস্যুতে দায়ী করতে পারিনি। আমাদের যে কোনও পারফরম্যান্স সমস্যা ছিল তা সবসময়ই ডিবি এবং / অথবা কীভাবে আমরা ব্যাক-এন্ড পরিষেবাগুলি সেট আপ করি, আমাদের প্রশ্নগুলি লিখে রেখেছিলাম সেগুলিতেই ছিল in


1
0 এমএস ... আমি মনে করি আপনার পরিমাপের মাধ্যমগুলির দিকে নজর দেওয়া দরকার।
gbjbaanb

2
@gbjbaanb আমার মনে হয় না, এগুলি পরিসংখ্যান থেকে এসেছে যা বেশ পেশাদারভাবে তৈরি হয়েছিল। মনে রাখবেন যে আমি এই বিষয়ে কথা বলছি ন্যূনতম সময় এবং ডিবিবিহীন নিবিড় পৃষ্ঠাগুলির বিষয়ে । এই সময়ে কার্যকর করা পৃষ্ঠাগুলিতে অবশ্যই এতে 100 টিরও বেশি ছড়িয়ে থাকা 1000 টি উপাদান নেই। আমরা এখানে তুলনামূলকভাবে সহজ পৃষ্ঠাগুলি সম্পর্কে কথা বলছি, সম্ভবত 10 উপাদান, 1 মাস্টার টেম্পলেট, সম্ভবত 1 টি অন্তর্ভুক্ত রয়েছে এমন একটি সার্ভারে যা কিছুকাল ধরে চলছে, তাই সবকিছু গরম এবং স্মৃতিতে রয়েছে। গড় সময় বেশি হয় (আমি উল্লেখ করেছি 10 মিমি) এবং 90% বেশি। সর্বোচ্চ কিছু হতে পারে।
আরজান তিজমস

পরিস্থিতিটি হ'ল এই পৃথিবী কেবল সেই সমস্ত বিষয়গুলির সমালোচনা করে যা সমস্ত সমস্যা সমাধানে সক্ষম। তবে এটি যে সমস্ত সমস্যার সমাধান করতে সর্বদা একটি মূল্যে আসে এবং এটি একটি দুর্দান্ত উদ্যোগ এবং একটি উত্সাহ প্রয়োজন। আমি দলগুলিতে যা দেখেছি তা হ'ল তারা জীবনচক্র না বুঝেও বিকাশ শুরু করে। এটি একটি খাড়া লার্নিং কার্ভ জড়িত তবে এটি সুন্দর পাশাপাশি লক্ষণীয়।
শিরগিল ফারহান

সার্ভারের চেয়ে ডাটাবেস / আইও এবং ব্যান্ডউইথ (মোবাইল ...) এ বিড়ম্বনাটি বেশি থাকে। জাভা সত্যিই দ্রুত যখন ভাল ব্যবহার করা হয়।
ক্রিস্টোফ রাউসি

8

বিশ্বের সমস্ত তাত্ত্বিক জেএসএফকে দুর্দান্ত বলতে পারে, তবে আপনার পৃষ্ঠাগুলি কেমন দেখাচ্ছে তা একবার দেখুন। এটি জাভাস্ক্রিপ্ট এবং অন্যান্য জঞ্জালগুলির বৃহত পাইলস তৈরি করে যা jQuery বা CSS এর পরিষ্কার ব্যবহারের মতো মডিউলগুলিতে যুক্ত করার আপনার ক্ষমতাকে মারাত্মকভাবে প্রতিবন্ধক করতে চলেছে। বলা যাচ্ছে না এটি করা যায় না, তবে কী খরচে।

অপেক্ষাকৃত ছোট প্রকল্প এবং মাঝারি জটিলতার সাথে ব্যক্তিগত অভিজ্ঞতা। একটি দুর্যোগ. এটি সমস্ত কলব্যাকগুলির সাথে ডিল করার একটি জগাখিচুড়ি ছিল এবং আপনি অন্যান্য প্রযুক্তিতে সহজে মিশতে পারবেন না। জেএসএফ-এর সাথে মিশ্রিত জেএসটিএল ব্যবহার করার সময় আমাদের একটি বিশাল ত্রুটি হয়েছিল। প্রত্যেকটি লিঙ্ক জাভাস্ক্রিপ্ট কলব্যাকের কারণে আমরা কখনই সমস্ত jQuery স্টাফ ব্যবহার করতে পারিনি।

দৌড়ে পালাও দ্রুত পালাও।

এছাড়াও যখন আপনি স্কেল বলবেন, আপনি কোন ধরণের স্কেলের কথা বলছেন। পৃষ্ঠাগুলির সংখ্যা, ব্যবহারকারীর সংখ্যা, প্রতি সেকেন্ডের অনুরোধের সংখ্যা, বৈশিষ্ট্যগুলির সংখ্যা। এর উত্তরগুলি আপনাকে সহায়তা করতে পারে। এছাড়াও যখন কেউ আপনাকে বলে তখন তাদের কোন ডিগ্রি এবং কত দ্রুত তা স্কেল করা দরকার scale উত্তর আপনাকে দুর্দান্ত সাহায্য করবে। আপনি যদি এক সপ্তাহে গুগল স্কেলে কথা বলছেন বা আপনি বছরে প্রতি দিন 1000 ব্যবহারকারী এবং 10000 পৃষ্ঠা দর্শন সম্পর্কে কথা বলছেন।

প্রায় কোনও ফ্রেমওয়ার্ক, আপনার ব্যাকগ্রাউন্ডে রিয়েল টাইম প্রতিক্রিয়া টাইপ করা সংক্ষিপ্ত, ব্যবহারের ক্ষেত্রে 99.999% পূরণ করবে।


3
যে কোনও ফ্রেমওয়ার্ক আইশের জন্য -1। এটি "পারফরম্যান্সের বিষয়ে চিন্তা করবেন না" বলার মতো।
রায়নস

3
তাদের মধ্যে এবং কোনও প্রকাশিত ওয়েব কাঠামো জেএসএফ সহ স্কেল করবে। তারা সবাই বলে যে তারা করে, এটি যদি না হয় তবে এটি একটি সুন্দর কৃপণ কাঠামো হবে। এটি বলেছিল, অনেকে এটির সাথে বোকা জিনিস করেন এবং সাধারণত সেখানেই স্কেলিংয়ের সমস্যা দেখা দেয়।
বিল লিপার

1
সত্য, তবে কিছু ফ্রেমওয়ার্ক আপনাকে বাধা স্কেলিং সহ জিনিসগুলি করতে উত্সাহ দেয়, কারণ ফ্রেমওয়ার্কটি উত্সাহ দেয় বা সম্প্রদায় এটি উত্সাহিত করে। আমি তর্ক করব যে এই ফ্রেমওয়ার্কগুলি স্কেল হয় না।
রায়নস

"কীভাবে আপনি স্কেলিং পরিমাপ করবেন" বিটটি সম্ভবত প্রশ্নের মন্তব্য হওয়া উচিত?

4

দাবি অস্বীকার: আমি জেএসএফ পছন্দ করি। যাইহোক, এমনকি সর্বশেষতম আরআই (মোজাররা ২.২.x) বা মাইফিসগুলি সহ, এমনকি দীর্ঘ প্রতীক্ষিত রাষ্ট্রবিহীন বাস্তবায়ন কর্মক্ষমতা খুব খারাপ very এটি জেএসএফের জীবনচক্রের কারণে এবং প্রতিটি অনুরোধের জন্য প্রতিটি দর্শন (ব্যয়বহুল) নির্মিত বলে সত্য।

একটি ক্লু পেতে, এটি একটি জেএসএফ পৃষ্ঠা বনাম একটি সরল জাভা সার্লেট বিরুদ্ধে একটি সাধারণ মানদণ্ড, উভয়ই "হ্যালো ওয়ার্ল্ড" মুদ্রণ করছে

সার্ভলেট

glassfish-3.1.2.2$ ab -n 10000 -c 100 http://localhost:8080/mavenproject-web/NewServlet

Server Software:        GlassFish
Server Hostname:        localhost
Server Port:            8080

Document Path:          /mavenproject-web/NewServlet
Document Length:        128 bytes

Concurrency Level:      100
Time taken for tests:   0.970 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Total transferred:      4300000 bytes
HTML transferred:       1280000 bytes
Requests per second:    10307.02 [#/sec] (mean)
Time per request:       9.702 [ms] (mean)
Time per request:       0.097 [ms] (mean, across all concurrent requests)
Transfer rate:          4328.14 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   1.0      1       5
Processing:     1    9   4.6      8      51
Waiting:        1    8   4.4      7      40
Total:          4   10   4.1      8      51

Percentage of the requests served within a certain time (ms)
  50%      8
  66%     10
  75%     11
  80%     11
  90%     12
  95%     14
  98%     29
  99%     33
 100%     51 (longest request)

JSF

glassfish-3.1.2.2$ ab -n 10000 -c 100 http://localhost:8080/mavenproject-web/xhtml/test/jsf.xhtml

Server Software:        GlassFish
Server Hostname:        localhost
Server Port:            8080

Document Path:          /mavenproject-web/xhtml/test/jsfxhtml
Document Length:        100 bytes

Concurrency Level:      100
Time taken for tests:   4.676 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Total transferred:      4250000 bytes
HTML transferred:       1000000 bytes
Requests per second:    2138.60 [#/sec] (mean)
Time per request:       46.759 [ms] (mean)
Time per request:       0.468 [ms] (mean, across all concurrent requests)
Transfer rate:          887.60 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.5      0       6
Processing:     5   46   6.0     46      73
Waiting:        2   45   5.5     45      72
Total:          8   47   5.8     46      73

Percentage of the requests served within a certain time (ms)
  50%     46
  66%     48
  75%     50
  80%     51
  90%     54
  95%     56
  98%     60
  99%     62
 100%     73 (longest request)

1
আমি মনে করি না যে একটি সাধারণ হেলিওর্ল্ড পৃষ্ঠাটি প্রতিনিধি বা অর্থবহ হতে পারে। একটি গুরুতর তুলনা অবশ্যই প্রয়োজনীয় তথ্য যেমন সংস্করণ নম্বর, ব্যবহৃত কনফিগারেশন ইত্যাদি সরবরাহ করতে পারে। পূর্ববর্তী উত্তরে দয়া করে জেএসএফ এবং উইকেটের মধ্যে তুলনাটি পড়ুন।
lu4242

আমাকে দ্বিমত করা যাক। আমি সত্যিই অর্থবহ বলে মনে করি যে সরলতম রাষ্ট্রবিহীন প্রসঙ্গে jsf jsp এর চেয়ে 5 গুণ ধীর। আরও জটিল পরিস্থিতিতে জেএসএফের কার্যকারিতা সবচেয়ে খারাপ হয়ে গেছে তা যাচাই করা তুচ্ছ। অথবা আমি অলসতার জন্য আরও মানদণ্ড সরবরাহ করতে পারি :-) জেএসএফ বাস্তবায়ন মোজারার ২.২, উপরে উল্লিখিত হিসাবে,
গ্লাস ফিশ

"... জেএসএফ জেএসপির চেয়ে 5 গুণ ধীর ..." আমি মনে করি যে এখানে ভুলটি থ্রুপুট এবং জেএসপি বনাম জেএসএফের অন্তর্নিহিত আচরণকে বিবেচনা করে না। এটি ব্যাখ্যা করা খুব জটিল, তবে এই ক্ষেত্রে, প্রতিক্রিয়া সময়টি স্পষ্টতই ধীর কারণ jsf এর একটি সম্মতিযুক্ত প্রভাব রয়েছে যা jsp এর নেই। তবে শেষে সেকেন্ডে চক্রটি তুলনা করা আরও সঠিক। এছাড়াও, মোজাররা মাইফিসের মতো নয়, সুতরাং উভয় বাস্তবায়নের ক্ষেত্রে পারফরম্যান্সের দিক থেকে পৃথক সংখ্যা রয়েছে। এক্ষেত্রে সম্মতিযুক্ত প্রভাবটি অত্যুক্তিযুক্ত নোট করুন।
lu4242

প্রকৃতপক্ষে, জেএসএফের তুলনায় একটি সরল সার্লেটটি তুলনা করা সম্পূর্ণ অযৌক্তিক। বুদ্ধিমান একমাত্র তুলনা হ'ল জেএসপি / সার্লেলেট বনাম অন্য "অ্যাপ্লিকেশন" ব্যবহার করে তৈরি করা "অ্যাপ্লিকেশন" যা জেএসএফ ব্যবহার করে ঠিক একই কাজ করে। কেন? কারণ জেএসএফ রেন্ডারিং / এজ্যাক্স / নেভিগেশন / বৈধকরণের জন্য অন্তর্নির্মিত সমাধান সরবরাহ করে, যে জিনিসগুলি স্ক্র্যাচ থেকে বা জেএসপিতে হাতে হাতে করা দরকার। এমনকি পারফরম্যান্সের দৃষ্টিভঙ্গি থেকে তুলনা আকর্ষণীয় হলেও (সার্ভারলেট / জেএসপির চেয়ে কোনও ফ্রেমওয়ার্ক দ্রুততর হবে না), জেএসপি জেএসএফের সাথে কোনও মিল নয়, কারণ এটি জেএসএফ আপনার পক্ষে কী করে তা একটি ক্ষুদ্র অংশও করে না।
lu4242

"জেএসএফ বনাম একটি সরল সার্লেটকে তুলনা করা সম্পূর্ণ অযৌক্তিক"। না এইটা না. উভয় প্রযুক্তিই বিষয়বস্তু সরবরাহ করার কথা। এই কারণেই আমি রাষ্ট্রবিহীন প্রসঙ্গে বিবেচনা করছি, যেখানে বৈধতা এবং অন্যান্য জিনিসগুলি গণনা করা হয় না। "প্রতিক্রিয়া সময়টি স্পষ্টতই ধীর কারণ জেএসএফের একটি সম্মতিযুক্ত প্রভাব রয়েছে যা জেএসপি-তে নেই" এটি নিজেই কোনও স্কেলিবিলিটি ইস্যু নয়? মাইফেসগুলি সম্পর্কে, আফাইক মোজারার চারপাশে এটি দ্রুততম বাস্তবায়ন হয়েছে (আমি এটি তদন্ত করব)
gpilotino

3

আপনি যদি আরও স্পষ্টভাবে বুঝতে চান যে জেএসএফ কীভাবে কার্য সম্পাদন করে (মোজাররা ২.১..7 এবং মাইফিস ২.১. both উভয়) এবং এটি অ্যাপাচি উইকেটের (১.৪.২০ এবং 1.5.5 উভয়ের মতো) কাঠামোর সাথে তুলনা করে, তবে এই বিষয়টিকে একবার দেখুন- গভীর তুলনা (মে 2012):

জেএসএফ 2 এবং উইকেট বোঝা: পারফরম্যান্স তুলনা

ভাল অংশটি হ'ল সবই উপলভ্য (কোড, পরীক্ষামূলক ডেটা, পরীক্ষার পুনরুত্পাদন সম্পর্কে নির্দেশাবলী, একটি বিশদ বিবরণী প্রতিবেদন)। এটি জেএসএফ কর্মক্ষমতা সম্পর্কে আপনার সমস্ত প্রশ্নের সমাধান করবে এবং আপনি অ্যাপাচি মাইফিসগুলি কী করতে সক্ষম তা দেখতে পাবেন।


3

একটি নিবন্ধ যা কিছুটা সহায়তা করতে পারে (যদিও এটি সত্যই চূড়ান্ত নয়) হ'ল সার্ভার কেন্দ্রিক জাভা ফ্রেমওয়ার্কস: ডি জোন জাভালোবিতে পারফরম্যান্স তুলনা :

... এই নিবন্ধটি পর্যালোচনা করে যে বেশিরভাগ এসপিআই জাভা ওয়েব ফ্রেমওয়ার্কগুলি সার্ভারের দ্বারা সরবরাহিত আংশিক পরিবর্তনগুলিতে কতটা কার্যকর । আমরা কোনও সার্ভার যোগাযোগের সাথে ইভেন্টগুলিতে আগ্রহী নই, এটি হ'ল (সম্ভাব্য) সার্ভার নিয়ন্ত্রণ নয় এমন ইভেন্টগুলি।

তারা কীভাবে পরিমাপ করা হচ্ছে

আমরা ক্লায়েন্টে সম্পাদিত ভিজ্যুয়াল পরিবর্তন সম্পর্কিত ক্লায়েন্টকে যে পরিমাণ কোড পাঠানো হয়েছে তা পরিমাপ করতে যাচ্ছি

উদাহরণস্বরূপ কোনও অংশে একটি ছোটখাট ভিজ্যুয়াল পরিবর্তনের জন্য (কিছু নতুন ডেটা) আমরা সার্ভারের কাছ থেকে খুব বেশি কোডের প্রত্যাশা করি না, তা হ'ল নতুন মার্কআপটি সরল এইচটিএমএল হিসাবে প্রয়োজন হয়, বা জাভাস্ক্রিপ্টে এম্বেড করা হয়, বা নতুন ডেটা সম্বলিত কিছু উচ্চ স্তরের নির্দেশাবলী ভিজ্যুয়ালাইজ। অন্যথায় কিছু ভুল হিসাবে মনে হচ্ছে উদাহরণস্বরূপ সম্পূর্ণ উপাদান বা পৃষ্ঠা অঞ্চলটি পুনর্নির্মাণ, ব্যান্ডউইথ এবং ক্লায়েন্ট শক্তি (এবং সম্ভবত সার্ভার শক্তি) নষ্ট করা হচ্ছে।

যেহেতু আমরা সর্বজনীন ডেমো ব্যবহার করব, তাই আমরা একটি নির্দিষ্ট এবং সূক্ষ্ম শস্য মাপদণ্ড পাচ্ছি না । তবে আপনি ফ্রেমওয়ার্কের মধ্যে খুব শক্তিশালী পার্থক্য দেখতে পাবেন।

পরীক্ষার কৌশলটি খুব সহজ এবং প্রত্যেকে কোনও বিশেষ অবকাঠামো না করে এটি করতে পারে, আমাদের কেবল ফায়ারফক্স এবং ফায়ারব্যাগ প্রয়োজন need এই পরীক্ষায় ফায়ারফক্স 3.6.8 এবং ফায়ারবগ 1.5.4 ব্যবহার করা হয়।

"এক্সএমএলএইচটিএইচপিআরকোয়েস্টগুলি দেখান" সক্ষম করা হলে ফায়ারব্যাগ কনসোলটি সার্ভারের প্রতিক্রিয়া দেখানোর জন্য কোনও এজেএক্স অনুরোধ লগ করে ...

ফ্রেমওয়ার্ক পরীক্ষা করা হয়েছে

RichFaces , IceFaces , MyFaces / ত্রিনিদাদ , OpenFaces , PrimeFaces , Vaadin , ZK , ItsNat

... গুরুতর পারফরম্যান্স জরিমানা ছাড়াই দৃশ্যত একমাত্র জেএসএফ বাস্তবায়ন হ'ল প্রাইমফ্রিজস ...

আমি উপযুক্ত তুলনা (পারফরম্যান্সের জন্য) খুঁজে পাচ্ছি না, যদি কেউ খুঁজে পায় তবে আমি এটি দেখতে পছন্দ করব!


2

সাধারণভাবে ফেসলেটগুলির সাথে একটি সমস্যা রয়েছে যা ব্যবহার করার জন্য আইএমএইচও বেশ অসুবিধাজনক জিনিস। এটি সত্যিকারের প্রয়োজনের চেয়ে চারগুণ বেশি শব্দযুক্ত এবং একবার আপনি যখন কোনও কিছু আদিম থেকে দূরে সরিয়ে ফেলেন তখন খুব বেশি ম্যানুয়াল কাজের প্রয়োজন হয়। হাইব্রিডজাভা ফেসলেটগুলির জন্য জেএসএফের মধ্যে উপস্থাপনা ইঞ্জিন হিসাবে একটি ভাল প্রতিস্থাপন হবে - এটি একই কাজ করে (এবং আরও অনেক কিছু বিশেষত - এটি আপনার জন্য সমস্ত "বাইন্ডিং" এবং আইডি করে) আরও কম কীস্ট্রোক দিয়ে।


1

সুতরাং আমি অনুরূপ একটি বেঞ্চমার্ক ছুঁড়ে ফেলতে চেয়েছিলাম। আমি একটি টুইটার বুটস্ট্র্যাপ উদাহরণ পৃষ্ঠা নিয়েছি এবং এটি XHTML কঠোর রূপান্তরিত। এর পরে, আমি ঠিক একটি অ্যাপ্লিকেশনকপিড সিডিআই শিম সেটআপ করেছি যা হ্যালো, ওয়ার্ল্ড ফিরিয়ে দিয়েছে। আমি EL প্রকাশটি পৃষ্ঠাতে রেখেছি। জেএসএফ সংস্করণে, আমি জেএসএফ রিসোর্স হ্যান্ডলারটি ব্যবহার করেছি, জেএসপিএক্স সংস্করণের জন্য, আমি এইচটিএমএল স্টাইল সিএসএস ব্যবহার করেছি এবং জেএসও অন্তর্ভুক্ত।

আমি মুখ্য পৃষ্ঠা লোড সময় পরীক্ষা করতে অ্যাপাচি বেঞ্চ ব্যবহার করেছি। পরীক্ষাটি একটি অপ-অপটিমাইজড টোমইই + v1.5.2 সার্ভারে করা হয়েছিল। আমি প্রতিটি বেঞ্চমার্ক 5x দৌড়েছিলাম, তারপরে একটি পরিমাপের আগে পুরো জিসি চালিয়েছি। জেভিএম পুনরায় আরম্ভ না করে একই জেভিএম ইভেন্টে বোস্ট পরীক্ষা করা হয়েছিল। আমার কাছে লিপপথে এপিআর উপলব্ধ রয়েছে তবে আমি নিশ্চিত নই যে এটি এই পরীক্ষার উপর প্রভাব ফেলে।

জেএসএফ ধীরে ধীরে, তবে পুরোটা দিয়ে নয়, যেহেতু আমরা খুব কম পরিমাণে ডিল করছি। কি নাপৃষ্ঠাগুলি আরও জটিল হয়ে উঠার কারণে যা প্রদর্শিত তা জেএসএফ / জেএসপিএক্স স্কেল লিনিয়ার বা তাত্ক্ষণিকভাবে করা যায়।

একটি জিনিস আমি লক্ষ্য করেছি যে জেএসএফএক্স জেএসএফের তুলনায় খুব সামান্য আবর্জনা তৈরি করে। জেএসপিএক্স পৃষ্ঠায় মাপদণ্ড চালানোর ফলে ব্যবহৃত গাদা 184mb থেকে 237mb এ চলে গেছে। জেএসএফ পৃষ্ঠায় একই জেভিএম-তে মাপদণ্ড চালানোর ফলে ব্যবহৃত গাদাটি 108 এমবি থেকে কমপক্ষে 404 এমবিতে ঝাঁপিয়ে পড়ে, তবে একটি স্বয়ংক্রিয় আবর্জনা সংগ্রহ সেই সময়ে শুরু হয়। এটি আপনার জঞ্জাল সংগ্রহকারীকে জেএসএফের জন্য সুর করা এক নিখুঁত প্রয়োজনীয়তা বলে মনে হচ্ছে ।

JSF

jonfisher@peanut:~$ /usr/local/bin/ab -n 10000 -c 100 http://localhost:8080/cdi-jsp/index.jsf
This is ApacheBench, Version 2.3 <$Revision: 1373084 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests


Server Software:        Apache-Coyote/1.1
Server Hostname:        localhost
Server Port:            8080

Document Path:          /cdi-jsp/index.jsf
Document Length:        2904 bytes

Concurrency Level:      100
Time taken for tests:   2.138 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Total transferred:      32160000 bytes
HTML transferred:       29040000 bytes
Requests per second:    4677.27 [#/sec] (mean)
Time per request:       21.380 [ms] (mean)
Time per request:       0.214 [ms] (mean, across all concurrent requests)
Transfer rate:          14689.55 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   1.3      1      21
Processing:     1   20   9.0     18      63
Waiting:        1   19   8.8     17      62
Total:          2   21   8.8     20      64

Percentage of the requests served within a certain time (ms)
  50%     20
  66%     23
  75%     25
  80%     27
  90%     32
  95%     39
  98%     46
  99%     50
 100%     64 (longest request)

JSPX

jonfisher@peanut:~$ /usr/local/bin/ab -n 10000 -c 100 http://localhost:8080/cdi-jsp/page2.jspx
This is ApacheBench, Version 2.3 <$Revision: 1373084 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests


Server Software:        Apache-Coyote/1.1
Server Hostname:        localhost
Server Port:            8080

Document Path:          /cdi-jsp/page2.jspx
Document Length:        2440 bytes

Concurrency Level:      100
Time taken for tests:   1.273 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Total transferred:      26290000 bytes
HTML transferred:       24400000 bytes
Requests per second:    7856.63 [#/sec] (mean)
Time per request:       12.728 [ms] (mean)
Time per request:       0.127 [ms] (mean, across all concurrent requests)
Transfer rate:          20170.98 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    5   2.3      6      20
Processing:     1    8   4.6      6      40
Waiting:        1    8   4.3      6      40
Total:          2   13   3.8     12      41

Percentage of the requests served within a certain time (ms)
  50%     12
  66%     12
  75%     13
  80%     13
  90%     17
  95%     20
  98%     24
  99%     28
 100%     41 (longest request)

-3

GWT আপনার জাভা কোডটিকে জাভা স্ক্রিপ্টে রূপান্তর করে। সুতরাং এটি আপনার ক্লায়েন্টের পাশে জাভা স্ক্রিপ্ট হিসাবে চলে। এবং এছাড়াও, আপনি আপনার gwt অ্যাপ্লিকেশনগুলিতে CSS সংহত করতে পারেন। সাধারণভাবে, gwt হালকা ওজন এবং কোনও সমস্যা ছাড়াই সমস্ত ব্রাউজার জুড়ে চলতে পারে। আমি জেএসএফ সম্পর্কে অনেক কিছু জানি না। তবে আমি মনে করি, ডিটি, জেএসএফ জিডব্লিউটি-র মতো নমনীয় নয়।


1
এটি প্রশ্নের উত্তর দেয় না, যা জেএসএফের কার্যকারিতা সম্পর্কিত এবং কাঠামোর সুপারিশ নয়। যাইহোক, জিডব্লিউটি সাধারণত জাভাস্ক্রিপ্ট জানেন না এমন লোকেরা পছন্দ করে is
ডানুবিয়ান নাবিক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.