কম্পিউটার

আমি রুবি 2.1 আপগ্রেড করা উচিত?

আমি একটি স্ক্রিনশট দিয়ে এর উত্তর দেব:

{% img img-responsive /images/posts/ruby-2-1-improvement.png 645 259 আমি এটিকে একটি বড় হ্যাঁ বলব %}

আমরা প্রায় এক সপ্তাহ আগে উৎপাদনে রুবি 1.9 থেকে 2.1 এ আপগ্রেড করেছি, এবং আমরা এটিই দেখেছি। নীচে ধূসর অংশ হল আমাদের আবর্জনা সংগ্রহের সময় প্রায় কিছুই যাচ্ছে না। সামগ্রিকভাবে, আপগ্রেড ইউএসএ সার্ভার প্রতিক্রিয়া সময় 15-20% উন্নতি করেছে। এটি কোনো অতিরিক্ত GC টিউনিং ছাড়াই!

আপগ্রেড শিপিংয়ের পরে আমরা Google এবং Bing-এর ক্রল রেটগুলিতে একটি বড় বৃদ্ধি দেখেছি, যা বিশেষত আমাদের মতো সাইটগুলির জন্য দুর্দান্ত যা সার্চ ইঞ্জিন ট্র্যাফিক থেকে ব্যাপকভাবে উপকৃত হয়৷

ঠান্ডা, তাহলে কতটা কঠিন ছিল?

প্রায় 150টি মণি নির্ভরতা সহ একটি বড় রেল অ্যাপে, আপগ্রেডটি একটি একক ছোট কমিট এবং কয়েক দিনের পরীক্ষা গ্রহণ করেছে। আমরা আমাদের সমস্ত সার্ভারে রানআরভিএম এবং শেফের ব্যবস্থা করি, তাই আমাদের সমস্ত সার্ভারকে 2.1-এ আপগ্রেড করা একটি শেফ রোল ফাইলে সংস্করণ নম্বর পরিবর্তন করার মতোই সহজ ছিল৷

আমরা কোন সমস্যায় পড়েছিলাম?

আমরা এখনও ট্রান্সলিটারেশনের জন্য iconv ব্যবহার করি, তাই আমাদেরকে theiconv রত্ন অন্তর্ভুক্ত করতে হয়েছিল, যা বিল্ট-ফাংশনালিটি প্রতিস্থাপন করে যা 2.x থেকে সরানো হয়েছিল। আমি কখনই গেটরুবি-ডিবাগ বা ডিবাগার জেম 2.x এর অধীনে কাজ করতে সক্ষম হইনি, তাই আমরা pry andpry-byebug-এ স্যুইচ করেছি। এখনও ডিবাগার রত্নটিকে প্রাই-বাইবাগ করার জন্য পছন্দ করে, কিন্তু প্রি irb-এর চেয়ে অনেক ভালো যে এটি একধরনের ধোয়ার মতো৷ বাইবাগের লেখক ডেভিড রদ্রিগেজ উল্লেখ করেছেন যে প্রি-বাইবাগ নিয়ে আমার সমস্যা সম্ভবত বাইবাগের কারণে হয়নি। তিনি সম্পূর্ণ সঠিক ছিল! (এটি আসলে বাইবাগ এবং প্রির মধ্যে মিথস্ক্রিয়া দ্বারা সৃষ্ট হয়েছিল) .

একটি মিশ্র 1.9 এবং 2.1 পরিবেশে, আপনাকে 1.5.1 এ আপগ্রেড করতে হবে। বান্ডলারের নতুন সংস্করণের সাথে, আপনি আপনার জেমফাইলে প্ল্যাটফর্মের প্রয়োজনীয়তা হিসাবে 2.1 নির্দিষ্ট করতে পারেন:

gem 'iconv', '~> 1.0.2', :platform => [:mri_20, :mri_21]

মনে হচ্ছে GitHub 2.1 এর সাথে অন্য কিছু সমস্যায় পড়েছিল, যা এই সারাংশে আমন গুপ্তা উল্লেখ করেছেন:https://gist.github.com/tmm1/8393897, কিন্তু আমরা এখনও কোনো সমস্যা লক্ষ্য করিনি।

আপনি আরও বেশি গতি পেতে শিপ করার পরেও আপনি GC টিউন করতে চাইবেন। এটি কিভাবে করতে হয় সে সম্পর্কে অনেক বিশদ বিবরণ সহ আমানের একটি ভাল পোস্ট রয়েছে:https://tmm1.net/ruby21-rgengc/। আপনি যদি আপনার সস্তা, সাধারণ রুবি আপগ্রেড থেকে সর্বাধিক সুবিধা পেতে চান তবে তার ব্লগের পুরো 2.1 সিরিজটি পড়ার যোগ্য৷


  1. আমার কি মন্টেরিতে আপগ্রেড করা উচিত নাকি অপেক্ষা করা উচিত?

  2. আপনার কি আপনার ম্যাককে মোজাভে আপগ্রেড করা উচিত?

  3. আমার কি macOS Catalina এ আপগ্রেড করা উচিত?

  4. ওয়াইফাই 6 কি? আপনার কি আপগ্রেড করা উচিত?