প্রোডাকশন সার্ভার বনাম পাতলা বা ইউনিকর্ন হিসাবে ওয়েব্রিক?


117

দেখে মনে হচ্ছে এটি অনুমোদনের জন্য নেওয়া হয়েছে যে আপনাকে অবশ্যই ওয়েব্রিককে প্রোডাকশন সার্ভার হিসাবে ব্যবহার করা উচিত নয়, তবে কেন আমি তা উল্লেখ করে কোথাও খুঁজে পাচ্ছি না। Sensক্যমত্য বলে মনে হচ্ছে: "ওয়েব্রিক উন্নয়নের জন্য ঠিক আছে, তবে পাতলা বা ইউনিকর্ন উত্পাদন, সময়ের জন্য পছন্দ।"

আমি পাতলা সার্ভারের হোমপেজটি সন্ধান করেছি এবং এটি অনুরোধগুলি / সেকেন্ডের বিষয়ে কথা বলে তবে কোনও টিকা নেই বলে আমি সত্যিই গ্রাফটি বুঝতে পারি না।

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

আমি হিরোকুকে সেইভাবে ব্যবহার করছি।


মোঙ্গললের মতো অন্যদের সাথে তুলনা করা হলে এটি ধীর হয়।
উদয়

38
কেন, আমি সত্যিই কোনও বিষয়ে বিতর্ক করতে এই প্রশ্নটি জিজ্ঞাসা করি নি। আমি সত্যই উত্তরটি জানতে চাই কারণ আমি যখন কোথাও সত্যিকারের পরিসংখ্যান খুঁজে পাচ্ছি না, যখন প্রত্যেকে মঞ্জুরিপ্রাপ্ত ওয়েব্রিককে নিকৃষ্ট হয়। আমি parties পক্ষগুলির কোনওর সাথেই যুক্ত নই এবং আপনি যে বিতর্কগুলি উল্লেখ করেছেন সেগুলি হ'ল আমি আসল কৌতূহল থেকে জিজ্ঞাসা করছি questions প্রশ্নটি কীভাবে পুনরায় লিখতে পারি যাতে এটি এমনভাবে দেখা যায় না?
ভ্লাদ

24
এটা একটা ভালো প্রশ্ন।
justingordon

29
এই জাতীয় প্রশ্নগুলি বন্ধ করা উচিত নয়। তারা দরকারী এবং সহায়ক। সমস্ত স্ব-নিয়োগপ্রাপ্ত কন্টেন্ট পুলিশকে ফিরে আসা উচিত।
কেন স্মিথ

22
আমি গুগল করে এটি পেয়েছি "কেন উত্পাদনে ডব্লিউইব্রিক ব্যবহার করবেন না?" কারণ এটি একটি প্রশ্নের উত্তর দিতে চাই। উত্পাদনে আমি ওয়েব্রিক ব্যবহারের অর্থ বোঝাতে চাই না, তবে সবাই বিরক্তিজনক বলে মনে হয় যে "কারণ এটি প্রোডাকশনের জন্য নয়, স্পষ্টতই।" এটি সত্যই প্রকট নয় - এটি যদি হয় তবে অবশেষে স্ট্যাকওভারফ্লো সম্পর্কে জিজ্ঞাসা করার আগে লোকেরা প্রশ্নটি নিয়ে গবেষণা করবে না, কারণ @ ভ্ল্যাড ইঙ্গিত করেছেন যে তিনি করেছেন। গৃহীত উত্তর সহায়ক; অন্তত কিছু অনুপস্থিত বৈশিষ্ট্যগুলি নির্দেশ করে। স্পর্শকাতরভাবে, একটি প্রশ্ন বন্ধ করার জন্য জোর দিয়েছিলেন কারণ আপনি মনে করেন যে এটি নিজের উত্তর না দিয়েই এটি কার্যকর হয়েছে helpful
জাস্টিন ফোর্স

উত্তর:


42

কয়েকটি গুরুত্বপূর্ণ কারণ

  1. এটি রুবিতে লেখা আছে (দেখুন http://github.com/ruby/ruby/tree/trunk/lib/webrick )
  2. সম্পাদিত এটির অনেকগুলি বৈশিষ্ট্য নেই যা সাধারণত কোনও প্রোডাকশন ওয়েবসাইটের প্রয়োজন হয় যেমন একাধিক কর্মী (বিশেষত, প্রাক-ফোর্কিং, লাইফ চক্র পরিচালনা, অ্যাসিনক্রোনাস হ্যান্ডলিং ইত্যাদি), পুনঃনির্দেশ, পুনর্লিখন ইত্যাদি have

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

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


আপনি কোন সার্ভার ব্যবহার না করেই হিরোকুতে একাধিক কর্মী পরিচালনা করতে দেরি_জব ব্যবহার করা সম্ভব নয়?
ভ্লাদ

হ্যাঁ, বিলম্বিত_জব ওয়েব্রিকের সাথে সম্পর্কিত নয়, যদি না আপনার কাজগুলি ওয়েব্রিক এপিআই ব্যবহার করে (যা দম্পতি হিসাবে সত্যই কোনও কোডের গন্ধ)।
জিম ডেভিল

আমি রুবি স্ট্যাকের বাইরে পুনর্নির্দেশগুলি উল্লেখ করছি। মোড_উইরাইট স্টাইলের পুনঃনির্দেশগুলি পছন্দ করে। প্রযুক্তিগতভাবে, আপনি র্যাক, বা রেলগুলির অভ্যন্তরে পুনর্নির্দেশ করতে পারেন, বা এমনকি ওয়েব্রিকও (আমি ভুল হতে পারি), তবে তার জন্য রুবি শুরু করা দরকার, যা তুলনামূলকভাবে আপাচে বা এনগিনেক্সের তুলনায় ধীর
জিম ডিভিল

1
@ জিমডিভিল - ইউনিকর্ন রুবিতেও লেখা আছে
ইয়ারিন

1
github.com/defunkt/unicorn/tree/master/ext/unicorn_http ইউনিকর্নের একটি বড় অংশ সি
জিম

4

ওয়েব্রিক আরও দীর্ঘ ইউআরআই পরিচালনা করতে পারে না, যদি তারা 2083 অক্ষরের বেশি হয় তবে আপনি ক্র্যাশ দেখতে পাবেন। পাতলা এই সমস্যাগুলি নেই, যা এটিকে উন্নত করে তুলেছে - ইতিমধ্যে বিকাশে রয়েছে।


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

3

আমি সাধারণ জিনিস এবং অকাল অপ্টিমাইজেশন জটিল করতে পছন্দ করি না। WEBrick উত্পাদনে ব্যবহার করা যেতে পারে তবে এর পরিবর্তে এটি একটি কম ট্রাফিক ওয়েবসাইট। বেশিরভাগ অ্যাপ্লিকেশন হ'ল।

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


1

অতীতে এটিতে কিছু সুরক্ষা সমস্যা ছিল, তবে এটির বড় কারণ হ'ল উত্পাদনের উদ্দেশ্যে তৈরি সার্ভারগুলির তুলনায় এটি সত্যই ধীর।


4
আপনি একটি স্ট্যাটাস তুলনা দেখেছেন? আমি লোকেদের এমন কথাও শুনেছি (এবং সম্ভবত সত্য) তবে ওয়েবে কোথাও সত্যিকারের স্ট্যাটাস তুলনা খুঁজে পাওয়া যায় না ...
ভ্লাদ

3
আমি মনে করি না যে কেউ সত্যই ওয়েব্রিককে বেঞ্চমার্ক করে কারণ এটি কোনও প্রোডাকশন সার্ভার হওয়ার উদ্দেশ্যে নয়। ইউনিকর্ন, পাতলা বা যাত্রী ভাল সমর্থিত এবং আরও ভাল বিকল্প
জিম ডেভিল

0

প্রোডাকশন মোডে চলাকালীন ওয়েব্রিকের সর্বাধিক দুর্বলতা হ'ল এটি একক থ্রেডযুক্ত, একক প্রক্রিয়া ওয়েব সার্ভার, যার অর্থ এটি একবারে কেবলমাত্র একটি একক http অনুরোধটি সরবরাহ করতে সক্ষম।


এটি একক থ্রেডযুক্ত নয়। বা এটি যে কোনও আধুনিক স্ক্রিপ্ট ভাষা প্রয়োগ করা হয় ঠিক তেমনই (জিআইএল সহ)। তবে ওয়েব্রিকে ডাটাবেস অ্যাক্সেস এবং আইও সম্পূর্ণরূপে বহুলিপি থেকে বিভক্ত।
লোথার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.