আমি কীভাবে আপাচে পড়ে যেতে পারি?


8

আমি মাঝারি ট্র্যাফিকের সাথে একক ম্যাগন্টো ইকমার্স সাইটকে হোস্টিংয়ের একজোড়া সার্ভার পেয়েছি (গুগল অ্যানালিটিক্স থেকে প্রতিদিন 60 কে পৃষ্ঠার ভিউগুলি রিপোর্ট করা হয়েছে, আমি মনে করি যে সার্ভারে নিজেই 80k রিপোর্ট করেছেন)। একটি বিরল অনিয়মিত হিচকা বাদে ডাটাবেস সার্ভারটি সহজেই এবং দ্রুত চলে but তবে অ্যাপাচি সার্ভারটি প্রায়শই প্রায়শই পড়ে যাচ্ছে।

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

<IfModule prefork.c>
    StartServers      50
    MinSpareServers   50
    MaxSpareServers  100
    ServerLimit  512
    MaxClients   256
    MaxRequestsPerChild 400
</IfModule>

আমি .htaccess ফাইলগুলি বন্ধ করে নেই, এবং অ্যাক্সেস লগিং চালু। আমি জানি যে আমি বন্ধ করতে পারি এমন কিছু মডিউল রয়েছে। আমি নিশ্চিত নই যে এই তিনটি পরিবর্তনের কোনওটির কী কী প্রভাব পড়বে।

অ্যাপাচি সার্ভারটি একটি ভিপিএস যা 6 জিগ র‌্যামের সাথে থাকে। সার্ভার লেখার সময় হিসাবে রিপোর্ট করা হচ্ছে load average: 17.77, 18.27, 49.76, তবে প্রায় 2 গিগ র‌্যাম মুক্ত। যখন এটি সত্যই খারাপ হয়, লোডটি 120+ এ যায় এবং সেখানেই থাকে - অ্যাপাচি পুনরায় চালু করা সাইটটিকে ব্যাক আপ করে এবং লোডটি আবার নীচে নিয়ে আসে।

vmstatহ'ল (সার্ভারটি উপরে লোডের প্রতিবেদন করার সময়), আমি মনে করি, 0 থেকে 70 বা এর মধ্যে একটি সিপিইউ নিষ্ক্রিয় মান ওঠানামা করছে। iostat0 এবং 0.2% এর মধ্যে একটি আইওয়েট মান দেখায়।

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

সুতরাং, আমি অনুমান করি আমার প্রশ্নগুলি হ'ল:

  1. সার্ভারে সমস্যা বা বাধা খুঁজে পেতে আমি আর কী করতে পারি?
  2. এটি উন্নত করার জন্য আমি কি সার্ভার কনফিগারেশনে কিছু সুস্পষ্ট পরিবর্তন করতে পারি?
  3. লোড যখন নির্দিষ্ট স্তরের উপরে চলে যায় তখন অ্যাপাচি পুনরায় চালু করার জন্য একটি স্বয়ংক্রিয় সিস্টেম সেট করা কি ভাল ধারণা?
  4. উপরের দিক থেকে, সাইটটি সার্ভারটি ছাড়িয়ে যাওয়ার সম্ভাবনা কতটা?

সম্পাদনা:

আমি অদ্ভুত কিছু পেয়েছি - / ভার / স্পুল / মেল / মূলটি বড় ছিল ... 38 গিগ। শোনাচ্ছে ... অস্বাস্থ্যকর। সেটা কি সমস্যা হতে পারে?


2
38 জিবি মেইল? সেখানে কী চলছে তা সন্ধান করুন। এবং তারপরে এটি ঠিক করুন।
আলিস্টার বুলম্যান

2
" আমি কীভাবে অ্যাপাচি উপর থেকে পড়তে পারি " - তাকে কাঠের পা দিন এবং তক্তা থেকে দূরে রাখুন।
শাজ

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

1
এটি 6 গিগাবাইট র‌্যাম পেয়েছে তবে এটি একটি 64 বিট ওএস? আপনি বর্তমানে 4gb বর্তমানে ব্যবহার করছেন তার চেয়ে বেশি আপনি কী ব্যবহার করতে পারবেন? যদি এটি একটি মিশন সমালোচনামূলক বাক্স হয় তবে আমি অবশ্যই লিনাক্স-এইচএ চালাব এবং কেবল ব্যর্থতার উদ্দেশ্যে এটি দুটি বাক্সে বিভক্ত করব। আমি মনে করি যদি আপনি প্রতিটি ক্র্যাশের সাথে নীচের অংশটিকে প্রভাবিত না করে থাকেন তবে আপনার বস এতটা টিক্করিত হবে না।
ওরি

উত্তর:


3

ম্যাজেন্টো এবং জেন্ডার ফ্রেমওয়ার্কটি বেশ সিপিইউ-ভারী, যেমন আপনি লক্ষ্য করেছেন। সিপিইউ লোড এড়ানোর সর্বোত্তম উপায় হ'ল কেবল কোনও বিষয়বস্তু একবার পরিবর্তন করা যতক্ষণ না এটি পরিবর্তন হয় simply আপনার ক্যাটালগের বেশিরভাগ অংশগুলি প্রায়শই পরিবর্তন হয় না এবং প্রায়শই আপনার পৃষ্ঠায় কেবল শপিং কার্ট ব্লক হয় বা 'সর্বাধিক জনপ্রিয় আইটেম' ব্লকটি কেবল গতিশীল অংশ।

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

যাইহোক, বার্নিশ একটি ডিফল্ট Magento ইনস্টলেশনের উপর অনেক ক্যাশে করা হবে না, সেখানে ব্যবহারকারী অনুসারে ডায়নামিক সামগ্রী, কুকিজ, অনেকটা যেহেতু ইত্যাদি Magento মডিউল যেমন 'হিসাবে বার্নিশ দ্বারা চালিত PageCache বার্নিশ সঙ্গে ভাল কাজ মডিফাই Magento'। এটি ম্যাজেন্টো সেটআপের সাথে মেলে এমন একটি বার্নিশ কনফিগারেশন ফাইলও সরবরাহ করে। এই দুজনে মিলে একটি খুব দক্ষ সেটআপ জন্য। এটি একটি বাণিজ্যিক মডিউল, তবে আরও শক্তিশালী সার্ভারের চেয়ে অনেক বেশি সাশ্রয়ী হবে।

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


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

3

আমি সাধারণত হাজারে থাকার জন্য ম্যাকআরকোয়েস্টগুলি প্যারচিল্ড সেটআপ করি - সাধারণত, 10,000 এর কাছাকাছি।

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

800 এপিসি ফাইল প্রতি সেকেন্ডে হিট, এবং আরও 200 ব্যবহারকারী-ক্যাশে প্রচুর। যদি এটি দ্বৈত বা কোয়াড-কোর হয় তবে আমি আশা করব এটি ঠিক থাকলেও ঠিক থাকবে। যদি ডাটাবেসটি সত্যিকার অর্থে চালিয়ে যায় তবে একটি বড় মেশিন - এবং আরও বেশি সিপিইউ পাওয়া কমপক্ষে এখনই এটির পক্ষে সেরা জিনিস হতে পারে।


প্রথম, ধন্যবাদ! লোডটি এখনও বেশ উচ্চ, তাই আমি এই মুহুর্তে কিছু জিনিস চেষ্টা করতে পারি, যা সহায়ক)। আমি ম্যাকআরকেইয়েস্টেপার্টিচিল্ডকে 4000 এ বাড়িয়েছি - ততক্ষণে লোড লাফিয়ে উঠেছিল এবং খুব বেশি থাকে। আমি এটিকে আবার 1000 এ কমিয়েছি, এবং লোড কিছুটা কমেছে, যদিও এখনও খুব বেশি। এপিসি ইনস্টল করা আছে। SHM 256. অন্তর্ভুক্ত_অনস্র ওভাররাইড চলছে।
ডেভ চাইল্ড

যদি এপিসি ইতিমধ্যে ইনস্টল করা থাকে, তবে apc.php কী রিপোর্ট করে? - এসভিএন.এফপিএন
আলিস্টার

এখানে আউটপুট (আমি সাইট / সার্ভারের সাথে সরাসরি লিঙ্ক না করাই পছন্দ করব): dl.rodbox.com/u/16366/apc.htm
ডেভ চাইল্ড

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

2

ডুয়াল কোর ভিপিএসের জন্য আপনার গড় লোড পুরোপুরি খুব বেশি। 8 সর্বোচ্চ হওয়া উচিত।

আমি ম্যাজেন্টোর জন্য মোড_পেজস্পিড এবং ইভেন্ট এমপিএম ব্যবহার করে ভাল সাফল্য পেয়েছি। আমি ইভেন্ট এমপিএম ব্যবহার করে এবং মোড_পেজস্পিড ইনস্টল করার পরামর্শ দেব।

ইভেন্ট এমপিএম সম্পর্কে আরও তথ্য: অ্যাপাচি ইভেন্ট এমপিএম ডকুমেন্টেশন

এবং মোড_পেজস্পিড: গুগল কোড: মোড_পেজস্পিড

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


2

আলিস্টারের ইঙ্গিত হিসাবে, 400 এর একটি ম্যাক্সউইকুয়েস্টস পারফিল্ডের মান অযৌক্তিকভাবে কম।

লোড গড় খুব বেশি - তবে প্রতিদিন 60 কে পৃষ্ঠার ভিউগুলি খুব বেশি ট্র্যাফিক নয়।

আপনার সাধারণত কতগুলি প্রক্রিয়াগুলির জন্য পরিবেশনের অনুরোধ রয়েছে?

আমি ম্যাজেন্টোর সাথে পরিচিত নই তবে মনে হচ্ছে এই সেটআপটিতে কিছু ভুল আছে। আমি আশা করব যে আপনি নিম্ন লোড স্তরে উল্লেখযোগ্যভাবে আরও থ্রুটপুট পেতে পারেন।

স্টিভ সোডার্স বইয়ের একটি অনুলিপি পেতে এবং এটি পড়ুন। সমস্ত বহির্গামী HTML সামগ্রী (স্থির এবং গতিশীল) এর জন্য সংক্ষেপণ সক্ষম করুন। এবং নিশ্চিত করুন যে আপনি একটি ভাল ক্যাচিং কনফিগার পেয়েছেন। আপনার অ্যাক্সেস_লগ ফাইলে% ডি লগিং শুরু করুন এবং ডেটা বিশ্লেষণ করার জন্য / আস্তে বিচ্ছিন্ন করার জন্য কিছু সরঞ্জাম তৈরি করুন build মাইএসকিউএল এর জন্য অনুরূপ।

Mysqltuner.pl ব্যবহার করে দেখুন এবং এতে কোনও সমস্যা রয়েছে কিনা।


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

মোড_পেজস্পিড ম্যাজেন্টোকে অনেক সাহায্য করে। চেষ্টা করে দেখুন
লেবেশদে

2

আমি একটি অনুরূপ সেটআপ চালিয়েছি, তবে এনজিন্স / পিএইচপি-এফপিএম / এপিসি (অপকোড এবং ফাস্ট_ব্যাকেন্ড / মেম্যাচড (স্লো_ব্যাকএন্ড)) দিয়ে আমি পিএইচপি সবচেয়ে বড় রিসোর্সের সমস্যা বলে মনে করি, সম্ভবতঃ ম্যাজেন্টো হয় অত্যন্ত বড় বা কেবল খারাপভাবে কোডেড a সম্পদগুলি ঠিক কী খাচ্ছে তা দেখুন, এটি আমার ক্ষেত্রে যেমন পিএইচপি হতে পারে?

মার্তিজান হিমেলস যা লিখেছেন তা ছাড়াও, ওপেন সোর্স বার্নিশ মডিউল রয়েছে যা আপনি চেষ্টা করতে পারেন। পরীক্ষা করে দেখুন http://moprea.ro/2011/may/6/magento-performance-optimization-varnish-cache-3/ এবং https://github.com/madalinoprea/magneto-varnish
আমি এটি কেবল একটি পরীক্ষার পরিবেশে পরীক্ষা করেছি এবং এখনও পর্যন্ত ভাল।


আপনি কি ডাটাবেসে সেশনগুলি সংরক্ষণ করেন, বা ডিস্কে (এবং যদি তাই থাকেন, tmpfs- তে)?


তারা একটি tmpfs এ সংরক্ষণ করা হয়।
ডেভ চাইল্ড

1

আপনি যখন ভিপিএস ব্যবহার করেন আপনি সিপিইউ ভাগ করে নিচ্ছেন। আপনার ভিপিএসকে কম ব্যস্ত হার্ডওয়ারে স্থানান্তর করতে বা উত্সর্গীকৃত হওয়ার জন্য আমি আপনার হোস্টের সাথে কথা বলার পরামর্শ দেব।

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

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

আপনি যদি বরাদ্দকৃত সিপিইউর পুরো ব্যবহার করতে চান তবে হয় কম ভিপিএস সহ আরও ভাল সার্ভারের জন্য জিজ্ঞাসা করুন (হোস্টটি সরান যদিও ঝামেলা হয়) বা উত্সর্গীকৃত হন।

আপনি সম্পূর্ণরূপে অ্যামাজনকে বেছে নিতে পারেন এবং nginx তাদের লোড ব্যালেন্সার ব্যবহার করে উদ্বিগ্ন হবেন না যা তাদের মেঘের নীচে আপনার সমস্ত সার্ভারের জন্য সেটআপ করতে কয়েকটি ক্লিক is

/var/mail.../root ফোল্ডার হ'ল মানে এর প্রচুর ইমেল সংগ্রহ করা হয় যা সাধারণত আপনার অ্যাপ্লিকেশন থেকে আসে। উদাহরণস্বরূপ একটি বগি পিএইচপি স্ক্রিপ্ট ইমেল প্রেরণের চেষ্টা করছে বা ক্রোন রান এবং স্থিতির ফলাফল আপনাকে ইমেল করতে সমস্ত ক্রোন জব কনফিগার করা হয়েছে। আপনি মেলের ভিতরে দেখতে এবং ফাইলটি দেখতে পারেন। আমি এর ত্রুটি বার্তাগুলি অনুমান করছি যাতে আপনি এটি কোথায় থেকে আসবে তা জানতে পারেন।

আপনার আরও তথ্যের প্রয়োজন হলে আমি আরও যুক্ত করব এবং আমারও কিছু তথ্য প্রয়োজন হতে পারে

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