প্রথম পদক্ষেপটি হ'ল এই ধরণের সমস্যার কারণ কী হতে পারে তা চেষ্টা ও বৈশিষ্ট্যযুক্ত করা । যেহেতু এটি কোডের বিভাগগুলির জন্য সঠিক ভাষা নির্বাচন করার সাথে সম্পর্কিত, তাই নিম্নলিখিতগুলি বিবেচনা করে শুরু করুন:
- কিভাবে ভাষা সনাক্ত করা হয়? এটি কি এইচটিটিপি অনুরোধের তথ্যের ভিত্তিতে? এটি সেশন তথ্যের উপর ভিত্তি করে ?, অথবা এটি ডাটাবেস ক্ষেত্রের উপর ভিত্তি করে? সংক্ষেপে, আপনার অ্যাপ্লিকেশন প্রতিটি বিভাগের জন্য ভাষাটি কীভাবে নির্বাচন করে তা সম্পর্কিত সমস্যা হতে পারে?
- ভাষাটি কীভাবে প্রদর্শিত হয়? আপনি কি কোনও বৈশিষ্ট্য ফাইল, বা একটি ডাটাবেস থেকে টানছেন? সঠিক ভাষার উল্লেখটি কীভাবে হারিয়ে যাচ্ছে তা কীভাবে সম্ভব? আপনি যে ভাষার সাথে মিশ্রিত তা কী সর্বদা সাইটের জন্য ডিফল্ট দেখতে পান?
- ক্লায়েন্ট পরিবেশের সাথে কোন সম্পর্ক আছে? এটি প্রথম বুলেট সম্পর্কিত, তবে কিছুটা এগিয়ে যায়। ডাউন স্ট্রিম ক্যাশে প্রক্সিগুলির কারণে আমার কাছে রেন্ডারিংয়ের অদ্ভুত সমস্যা ছিল। সাধারণত এই ধরণের সমস্যাগুলি হ'ল একটি সম্পূর্ণ পৃষ্ঠা যা বাসি বা এক ব্যক্তির পৃষ্ঠা অন্য ব্যবহারকারীদের কাছে সরবরাহ করে (যা বিব্রতকর ছিল)।
- আপনি কি একটি থ্রেড স্থানীয় মান ব্যবহার করছেন? যদি কোনও অনুরোধ আমার একাধিক থ্রেড পরিচালনা করে থাকে তবে থ্রেড স্থানীয় মানটিতে সেই সময় থ্রেডের উপর ভিত্তি করে আলাদা আলাদা তথ্য থাকবে। ওয়েব সার্ভারের পরিবেশে, আপনি ধরে নিতে পারবেন না যে আপনি যে থ্রেডটি প্রক্রিয়াকরণ শুরু করেছেন তা একই থ্রেডে প্রসেসিং সম্পূর্ণ করবেন - যদি না এটি আপনার প্ল্যাটফর্মের বৈশিষ্ট্যের অংশ না হয়। সার্ভার লেখকরা খুঁজে পেয়েছেন যে তারা যদি থ্রেডগুলির একটি ছোট পুল এবং মাল্টিপ্লেক্সগুলি তাদের অংশগুলিতে কাজ করে তবে তারা একই সাথে আরও অনুরোধগুলি পরিচালনা করতে পারে। এমনকি যদি আপনার কাছে একটি অনুরোধ শুরু থেকে শেষ পর্যন্ত একটি থ্রেড থাকে তবে সার্ভার একই থ্রেডে একই সাথে অন্য অনুরোধগুলি মাল্টিপ্লেক্সিং করতে পারে। থ্রেড স্থানীয়দের পরিবর্তে, অনুরোধ বা সেশনের বৈশিষ্ট্যের সাথে এই মানটিকে বাঁধাই বিবেচনা করুন।
এখন, একবার আপনি চিহ্নিত করে থাকেন সম্ভাবনার কি ভুল হয়ে যেতে পারে, এটি এর সময় নিশ্চিত করুন যে আপনি ডাটা আপনি চেষ্টা এবং খুঁজে বের কি প্রয়োজন আছে করতে করেনি চলতে চলতে ভুল।
- সমস্যার ক্ষেত্রগুলির চারপাশে মজাদার লগিং ব্যবহার করুন। এটি এমন একটি জায়গা যেখানে লগ 4 জ বা লগ 4 নেট এর মতো সরঞ্জামটি সত্যিই চকমক করতে পারে। সেই লগিংয়ের কাঠামো এবং এটির মতো অন্যরা আপনাকে কনফিগারেশন ফাইল পরিবর্তন করে সমস্ত কিছুর জন্য শব্দ রাখার সময় নির্দিষ্ট বিভাগগুলির জন্য লগিং চালু করতে দেয়। আপনার সন্দেহজনক সমস্যা সম্ভবত হতে পারে কিনা তা বের করার জন্য আপনি নতুন লগিং স্টেটমেন্টগুলি প্রবর্তন করতে চান। এছাড়াও নিশ্চিত করুন যে আপনার HTTP অ্যাক্সেস লগগুলিতে প্রতিটি অনুরোধ সম্পর্কে আপনি চান সমস্ত তথ্য রয়েছে (কুকিজ, HTTP শিরোনাম প্যারামিটার ইত্যাদি) have
- সমস্যাটি অনুকরণ করার চেষ্টা করুন। যেহেতু এটি বিক্ষিপ্তভাবে ঘটে, তাই সার্ভারে এমন লোডটি ঘটে যখন ঘটে? আপনি কি ভাষার মিশ্রণ থেকে বহু যুগপত অনুরোধের শিকার হচ্ছেন? যদি তা হয় তবে আপনার পরীক্ষার পরিবেশে load ধরণের বোঝা অনুকরণ করার চেষ্টা করুন। জেমেটারের মতো একটি সরঞ্জাম আপনার প্রয়োজন হতে পারে। আপনি আপনার জাল ক্লায়েন্টগুলির জন্য আইপি ঠিকানাগুলি ছদ্মবেশে সক্ষম করতে চাইবেন। মনে রাখবেন যে আইপি ঠিকানাগুলি ভাগ করা হয়েছে যাতে আপনি ঠিকানার প্রথম দুটি বিভাগের উপর ভিত্তি করে আইপিটি কোন দেশ / অঞ্চলে চিহ্নিত করতে পারেন।
- সমস্যা শুধু আপনার পরীক্ষা পরিবেশে বিক্ষিপ্ত যেমন হবে, কিন্তু হিসাবে আপনি আপনার আসল কারণ মধ্যে কমিয়ে আনতে আপনি এটা ঘটতে করতে ফলাফল তীর্যক করতে আরো প্রায়ই তুলনায় এটি বন্য মধ্যে আছে। অতিরিক্তভাবে, আপনি আরও সহজে লগ ফাইলগুলি পর্যালোচনা করতে পারেন এবং সেগুলি থেকে শেখার চেষ্টা করতে পারেন।
- এটি একটি পুনরাবৃত্তি প্রক্রিয়া, তাই ধৈর্য ধরুন। আপনি লোড আপনি ধরণ প্রবৃত্ত আছে মনে , বাগ পুনর্গঠন করা হবে লগ পরীক্ষা, এবং আপনি তা খুঁজে উপর ভিত্তি করে আপনার পরীক্ষার পরিমার্জন। গুরুত্বপূর্ণ বিষয়টি সমস্যাটি চিহ্নিত করা , তাই কিছু সাধারণ সমাধানের তাগিদ প্রতিরোধ করুন যা সম্ভবত আসল সমস্যাটি প্রায়শই ঘটতে পারে।
অবশেষে, আপনি একবার সমস্যাটি এমনভাবে সংকুচিত করলেন যেখানে আপনি কীভাবে এটি পুনরুত্পাদন করতে জানেন এবং কী কারণে এটি ঘটেছে, আপনি কোডটিতে সমস্যাটি চাপিয়ে দেওয়ার জন্য সবচেয়ে ক্ষুদ্রতম স্বয়ংক্রিয় পরীক্ষা লিখুন। আপনি যদি সমস্যাটিকে এক শ্রেণিতে সঙ্কুচিত করে থাকেন, বা একজোড়া ক্লাস একসাথে সঠিকভাবে কাজ না করে থাকেন, তবে সে স্তরে এটি পুনরুত্পাদন করুন। এটি করার জন্য আপনার 100 টি থ্রেড তৈরি করতে হবে না, কেবলমাত্র সবচেয়ে ছোট পরীক্ষা করুন যা সমস্যাটি 100% সময়ের মধ্যে ঘটতে পারে।
এখন আপনি এটি ঠিক করতে পারেন, এবং যুক্তিযুক্ত আত্মবিশ্বাসী হন যে এটি আপনাকে আবার কামড়ানোর জন্য ফিরে আসবে না।