অ্যালগোরিদমিকভাবে রেকর্ড ত্রুটিগুলির একটি স্পাইক শনাক্ত করার সহজ উপায়


29

আমাদের একটি প্রাথমিক সতর্কতা ব্যবস্থা দরকার। আমি এমন একটি সার্ভারের সাথে কথা বলছি যা বোঝার মধ্যে পারফরম্যান্স সমস্যা রয়েছে issues টাইমস্ট্যাম্পের পাশাপাশি একটি ডাটাবেসে ত্রুটিগুলি রেকর্ড করা হয়। কিছু ম্যানুয়াল হস্তক্ষেপ পদক্ষেপ রয়েছে যা সার্ভার লোড হ্রাস করতে নেওয়া যেতে পারে, তবে কেবল কেউ যদি সমস্যা সম্পর্কে অবগত থাকে ...

ত্রুটিগুলি সংঘটিত হওয়ার একটি সেট দেওয়া, আমি কীভাবে ত্রুটিগুলির স্পাইকের শুরুটি সনাক্ত করতে পারি (রিয়েল টাইমে)? আমরা পর্যায়ক্রমে বা প্রতিটি ত্রুটির ঘটনায় গণনা করতে পারি।

আমরা মাঝে মাঝে ত্রুটিগুলি সম্পর্কে উদ্বিগ্ন, তবে নির্দিষ্ট সীমাবদ্ধতা নেই। আমরা যখনই পেয়েছি কাউকে কেবল পাঁচ মিনিটে তিনটি ত্রুটি জানাতে পারি, তবে আমি নিশ্চিত যে এর থেকে আরও ভাল উপায় আছে ...

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

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


1
এটি মানুষের পক্ষে দরকারী বলে মনে হয়েছে, তাই আমি শিরোনামটি যেমন রয়েছে তেমন ছেড়ে দেব, তবে আমার মনে হয় "স্পাইক" বিভ্রান্তিকর। আমরা আসলে যা খুঁজছিলাম তা একটি প্রতিচ্ছবি বিন্দু বা আপেক্ষিক বৃদ্ধি।
dbenton

উত্তর:


44

আপনি এই প্রশ্নটি জিজ্ঞাসা করে 5 মাস হয়ে গেছে, এবং আশা করি আপনি কিছু খুঁজে পেয়েছেন। অন্যান্য পরিস্থিতিতে আপনি তাদের জন্য কিছু ব্যবহার খুঁজে পান এই আশায় আমি এখানে কয়েকটি আলাদা পরামর্শ দিতে যাচ্ছি।

আপনার ব্যবহারের ক্ষেত্রে আমি মনে করি না যে আপনি স্পাইক-শনাক্তকরণ অ্যালগরিদমগুলি তাকান প্রয়োজন।

সুতরাং এখানে যায়: আসুন একটি টাইমলাইনে ঘটে যাওয়া ত্রুটিগুলির একটি ছবি দিয়ে শুরু করুন:

ত্রুটি গ্রাফ

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

পরিমাপ 1

আপনি "স্পাইকস" উল্লেখ করেছেন, স্পাইক পাওয়ার সহজতম উপায় হ'ল প্রতি 20 মিনিটের ব্যবধানে হিস্টোগ্রাম আঁকুন :

ত্রুটি হিস্টোগ্রাম

আপনার সিসাদমিনগুলি বারের উচ্চতাগুলির উপর ভিত্তি করে সংবেদনশীলতা সেট করবে অর্থাৎ 20 মিনিটের ব্যবধানে সর্বাধিক ত্রুটিগুলি সহনীয়।

(এই স্থানে আপনি যদি 20 মিনিটের জানালা দৈর্ঘ্য সমন্বয় করা যাইবে না ভাবছি থাকতে পারে। এটা করতে পারেন, এবং আপনি শব্দ সংজ্ঞা যেমন জানালা দৈর্ঘ্য মনে করতে পারেন একসঙ্গে ফ্রেজ একসঙ্গে লক্ষিত ত্রুটির ।)

আপনার বিশেষ দৃশ্যের জন্য এই পদ্ধতিতে সমস্যা কী? ঠিক আছে, আপনার ভেরিয়েবলটি একটি পূর্ণসংখ্যা, সম্ভবত 3 এরও কম হয় You আপনি আপনার প্রান্তিকতা 1 তে সেট করেননি, কারণ এর অর্থ হ'ল "প্রতিটি ত্রুটি একটি সতর্কতা" which যার জন্য অ্যালগরিদম প্রয়োজন হয় না। সুতরাং প্রান্তিকের জন্য আপনার পছন্দগুলি 2 এবং 3 হতে চলেছে This এটি আপনার সিসাদ্মিনগুলিকে পুরোপুরি সূক্ষ্ম দানাযুক্ত নিয়ন্ত্রণ দেয় না।

পরিমাপ 2

সময় উইন্ডোতে ত্রুটিগুলি গণনা করার পরিবর্তে বর্তমান এবং শেষ ত্রুটির মধ্যে থাকা মিনিটের সংখ্যার উপর নজর রাখুন। যখন এই মানটি খুব ছোট হয়ে যায়, এর অর্থ আপনার ত্রুটিগুলি খুব ঘন ঘন হয়ে আসছে এবং আপনাকে একটি সতর্কতা বাড়াতে হবে।

সময়ের পার্থক্য

আপনার সিসাডমিনগুলি সম্ভবত 10 এ সীমা নির্ধারণ করবে (যেমন যদি ত্রুটিগুলি 10 মিনিটেরও বেশি দূরে ঘটে থাকে তবে এটি একটি সমস্যা) বা 20 মিনিট। কম মিশন-সমালোচনামূলক সিস্টেমের জন্য 30 মিনিট হতে পারে।

এই পরিমাপ আরও নমনীয়তা সরবরাহ করে। পরিমাপ 1 এর বিপরীতে, যার জন্য আপনি কাজ করতে পারেন এমন মানগুলির একটি ছোট সেট ছিল, এখন আপনার কাছে একটি পরিমাপ রয়েছে যা একটি ভাল 20-30 মান সরবরাহ করে। আপনার সিস্টেমেডমিনদের তাই সূক্ষ্ম-সুর করার আরও সুযোগ থাকবে।

বন্ধুত্বপূর্ণ পরামর্শ

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

আপনি উল্লেখ করেছেন যে এই আচরণটি একটি একক সার্ভারে ঘটেছিল, যার পারফরম্যান্স সংক্রান্ত সমস্যা রয়েছে বলে জানা যায়। আপনি সেই মেশিনে কিছু কী পারফরম্যান্স সূচকগুলি নিরীক্ষণ করতে পারেন এবং কোনও ত্রুটি কখন ঘটতে চলেছে সে সম্পর্কে তাদের জানান। বিশেষত, আপনি সিপিইউ ব্যবহার, মেমোরির ব্যবহার এবং ডিস্ক I / O সম্পর্কিত কেপিআইগুলিতে সন্ধান করবেন। যদি আপনার সিপিইউ ব্যবহার 80% ছাড়িয়ে যায়, সিস্টেমটি ধীর হয়ে যাবে।

(আমি জানি যে আপনি বলেছিলেন যে আপনি কোনও সফ্টওয়্যার ইনস্টল করতে চান নি, এবং এটি সত্য যে আপনি পারফমোন ব্যবহার করে এটি করতে পারতেন But তবে সেখানে নিখরচায় সরঞ্জাম রয়েছে যা নাগিওস এবং জেনোসের মতো এটি আপনার জন্য করবে ))

এবং এমন লোকদের জন্য যারা একটি টাইম-সিরিজে স্পাইক সনাক্তকরণ সম্পর্কে কিছু খুঁজে পাওয়ার আশা করে এখানে এসেছিল:

একটি টাইম-সিরিজে স্পাইক সনাক্তকরণ

এক্স1,এক্স2,

এম=(1-α)এম-1+ +αএক্স

αএক্স

যদি আপনার নতুন মান চলন্ত গড় থেকে খুব দূরে সরে যায়, উদাহরণস্বরূপ

এক্স-এমএম>20%

তাহলে আপনি একটি সতর্কতা উত্থাপন করুন।

রিয়েল-টাইম ডেটার সাথে কাজ করার সময় মুভিং এভারেজগুলি দুর্দান্ত। তবে ধরুন আপনার কাছে ইতিমধ্যে একটি টেবিলের একগুচ্ছ ডেটা রয়েছে এবং স্পাইকগুলি সন্ধান করতে আপনি এটির বিরুদ্ধে এসকিউএল অনুসন্ধান চালাতে চান।

স হ্র হ:

  1. আপনার সময়-সিরিজের গড় মান গণনা করুন
  2. σ
  3. 2σ

সময় সিরিজ সম্পর্কে আরও মজাদার জিনিস

  1. অনেক রিয়েল-ওয়ার্ল্ড টাইম-সিরিজ চক্রীয় আচরণ প্রদর্শন করে। আরিমা নামে একটি মডেল রয়েছে যা আপনাকে আপনার সময়-সিরিজ থেকে এই চক্রগুলি বের করতে সহায়তা করে।

  2. চক্রীয় আচরণ বিবেচনা করে এমন চলমান গড়: হোল্ট এবং উইন্টারস


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

8
হলের খ্যাতি উত্তর, করতালি । একমাত্র এইটিকে উজ্জীবিত করতে এই সম্প্রদায়টিতে যোগদান করুন।
Wesanyer

3

পরিসংখ্যান প্রক্রিয়া নিয়ন্ত্রণের জন্য +1, পদক্ষেপ সনাক্তকরণে এখানে কিছু দরকারী তথ্য রয়েছে ।

এসপিসির পক্ষে ওয়েস্টার্ন বৈদ্যুতিক বিধি বা নেলসন বিধিগুলির কোনও একটি প্রয়োগকরণ লিখতে খুব বেশি কঠিন নয় ।

কেবল এসকিউএল সার্ভারে এমন একটি ইউএসপি তৈরি করুন যা কোনও ডেটা সেটের মাধ্যমে পুনরাবৃত্তি হয় এবং প্রতিবেশী পয়েন্টগুলি ব্যবহার করে বিধিগুলির বিরুদ্ধে প্রতিটি পয়েন্টকে পিং করে। হতে পারে ঘন্টা দ্বারা ত্রুটির সংখ্যা যোগ করুন (আপনার প্রয়োজনের উপর নির্ভর করে)।


এই ধরণের আমি স্ট্যাক ওভারফ্লোতে পোস্ট করা একটি প্রশ্নের সাথে সম্পর্কিত কিছুক্ষণ আগে (যদি এটি সাহায্য করে তবে একটি দ্রুত উত্তর লিখেছেন): এসকিউএল সার্ভার ২০০৮ আর 2-তে পরিসংখ্যান প্রক্রিয়া নিয়ন্ত্রণ চার্ট


2

একটি অনুসন্ধান অনলাইন সনাক্তকরণ অ্যালগরিদমগুলির শুরু হবে।

স্ট্যাকওভারফ্লোতে অবস্থিত আরও তথ্য: পরিমাপ করা সংকেতের পিক ডেকশন

একটি সাদাসিধা শিখর সনাক্তকরণ রুটিন একটি পাইথন বাস্তবায়ন পাওয়া যেতে হয় GitHub


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

1

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

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