জিনিসগুলি উত্পাদনের সময় ভাঙ্গলে সমস্যা বোঝা


24

দৃশ্যপট:

  • আপনি উত্পাদন ধাক্কা
  • ধাক্কায় একাধিক জিনিস ভেঙে যায়
  • সেই একই বিল্ডটি কিউ বা ডেভ ভাঙ্গেনি
  • বিকাশকারী হিসাবে আপনার কাছে অ্যাক্সেস নেই।
  • সেখানে থেকে চাপ প্রচুর উপরে কিছু agian কাজ পেতে।

সুনির্দিষ্ট:

  • পিএইচপি / এমভিসি অ্যাপ্লিকেশন যা জেন্ডে এপিআই চালিত।
  • কয়েকটি সার্ভারে মোতায়েন।

আমার প্রশ্ন:

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


24
যদি এটি ডিইভি বা কিউএ না ভাঙে তবে উত্পাদনটি ভেঙে দেয় তবে এটি সাধারণত একটি কনফিগারেশন সমস্যা।
মাইক এল।

4
আপনার ব্যক্তিগতভাবে উত্পাদনে অ্যাক্সেস নাও থাকতে পারে, তবুও আপনার অপারেশন দলের একজন সদস্য থাকা উচিত যিনি সমস্যা সমাধানের জন্য আপনার চোখ এবং হাত হতে পারেন।
shuffler

3
আপনি কি কনফিগারেশন সমস্যাগুলি, যেমন, নতুন সংস্করণে ব্যবহার করা যেতে পারে এমন ডাটাবেস অ্যাক্সেস বা নেটওয়ার্ক অনুমতিগুলি বাতিল করেছেন?
জেবি কিং

7
@MikeL। বা দুর্নীতিগ্রস্থ ডেটা যা দেব বা কিউএতে নেই।
maple_shaft

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

উত্তর:


33

সমস্যা হিসাবে যতটা তথ্য (লগফিলস ইত্যাদি) পেতে পারেন এবং তারপরে প্রোডাকশন সার্ভারগুলিকে একটি কার্যক্ষম অবস্থানে রোলব্যাক করুন। এটি অবশ্যই বিকাশকারী দৃষ্টিকোণ থেকে ব্যথা, তবে সম্ভবত এটি প্রদত্ত।

এরপরে, চেষ্টা করুন এবং দেখুন যে আপনি কোনও উন্নয়ন পরিবেশে সমস্যাটি পুনরুত্পাদন করতে পারেন কিনা। যদি আপনি পারেন তবে এটি ঠিক করুন এবং আবার ছেড়ে দেওয়ার চেষ্টা করুন।

আপনি যদি এটি পুনরুত্পাদন করতে না পারেন, তবে দেখুন সমস্যাটি সম্পর্কে আরও তথ্য পেতে আপনি আরও ডায়াগনস্টিক যুক্ত করতে এবং অল্প সময়ের জন্য একটি সার্ভারে ছেড়ে দিতে পারেন কিনা তা দেখুন।

যদি এটি সম্ভব না হয় তবে প্রোডাকশন এবং দেব / ক্যু পরিবেশের মধ্যে পার্থক্যগুলি আরও ঘনিষ্ঠভাবে দেখুন এবং কোনও দেব পরিবেশকে উত্পাদনের আরও কাছাকাছি করার চেষ্টা করুন।


4

সমস্যাটি আপনি কতটা ভাল বুঝতে পারছেন? আপনার কুঁচি জিনিসগুলি আরও খারাপ করে দেবে এমন ঝুঁকি কী? ডিইভি / কিউএ অঞ্চলে ফিরে গিয়ে সমস্যাটি পুনরুত্পাদন করা কি সম্ভব? আপনার ডিইডি / কিউএ অঞ্চলটিকে পিআরডি কাছে পাওয়ার জন্য আপনি কী সিঙ্ক করতে পারেন? হতে পারে আপনাকে কিছু পরিবেশগত বা ডাটাবেস সেটিংস পরিবর্তন করতে হবে, হতে পারে আপনাকে ডিওডিতে প্রোড ডেটা আমদানি করতে হবে, সম্ভবত আপনাকে কিছু ডিবাগ সেটিং পরিবর্তন করতে হবে।

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


5
আপনি অবশ্যই কোনও ভাঙা প্রোডের জন্য কোনও ফিক্স প্রয়োগ করতে চান না যা আপনি জানেন না যে এটি ঠিক করে দেবে; এটি সম্ভবত এটি আরও ভেঙে দেবে! কোনও স্থিতিশীল অবস্থায় ফিরে যাওয়া এবং কিউএতে কাজ করা ভাল যেখানে প্রথম এবং একমাত্র সময় এটি পাওয়ার জন্য কম চাপ রয়েছে।
মাইকেল কে

2

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

এটি সত্যিই কঠিন, যেহেতু বিভিন্ন সেটিংস, লাইব্রেরি এবং সফ্টওয়্যার সংস্করণগুলির মতো অনেকগুলি সম্ভাবনা রয়েছে।

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


1

সাধারণত এটি হয় কনফিগারেশন বা ডেটা সমস্যা, ধরেই নেওয়া যে কোড এবং ডিবি প্রোড, কিউএ এবং দেবের মধ্যে অভিন্ন।

আমি প্রথমে নীচের দিকে নজর দেব:

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

যা হচ্ছে তা আপনি বুঝতে পারলে, আপনাকে উত্পাদনকে একটি কার্যক্ষম অবস্থায় রোলব্যাক করতে হবে এবং কম পরিবেশে সমস্যা সমাধানের কাজ করা উচিত, ঠিক না হওয়া পর্যন্ত এবং পুনরায় উত্পাদনে স্থাপন করা পর্যন্ত।


0

আপনার পরিবেশটি পিএইচপি করার সময়, জাভার জন্য এটি সম্পর্কে কীভাবে ভাবতে হয় সে সম্পর্কে আমি একটি উপস্থাপনা করেছি: http://www.infoq.com/preferencesations/maintaining-pr Productions- java- apps

মূল সমস্যাগুলি একই - পরিস্থিতি সমাধানের সম্ভাব্য চোক পয়েন্টগুলি বোঝার জন্য: নেটওয়ার্ক, ফাইল সিস্টেম অ্যাক্সেস, লগ ফাইল, ডেডলকস ইত্যাদি Also এছাড়াও সঠিক প্রশ্নগুলি কীভাবে জিজ্ঞাসা করতে হবে তা জানতে: "সিস্টেম ডাউন" - "বিশেষত আপনি কী করেন? অর্থ: ওয়েব পৃষ্ঠাটি কি ধীর গতির, নির্দিষ্ট ত্রুটির বার্তা রয়েছে, সেখানে কি টাইমআউট আছে "ইত্যাদি

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

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


0

সংক্ষিপ্ত উত্তর: আপনার পছন্দ থাকলে তা নয়।

দীর্ঘ উত্তর: আপনি যদি সমস্যাটি বুঝতে না পারেন তবে এই জাতীয় প্যাচে জড়িত থাকার জন্য বেশ কয়েকটি ঝুঁকি রয়েছে:

  1. আপনি অন্য কিছু ভেঙে ফেলতে পারেন যা কম পুনরুত্পাদনযোগ্যও হতে পারে।
  2. আপনি কেবল সমস্যাটি মুখোশ করতে পারেন, লক্ষ্য করা এবং পুনরুত্পাদন করা শক্ত করে তোলে (এটি আরও খারাপ করে তোলে)
  3. আপনি সম্ভাব্য ঘরোয়া অভিজ্ঞতা ফেলে দিচ্ছেন - এমন অভিজ্ঞতা যা আপনাকে আরও ভাল প্রোগ্রামার করে তুলতে পারে এবং একই সাথে আপনার সংস্থার কাছে আরও মূল্যবান হবে (অর্থাত্ সম্ভাব্য ভবিষ্যতের উত্থাপন)।

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.