ড্রুপাল পৃষ্ঠা কার্যকর করার সময়গুলিতে সমস্ত কী অবদান রাখে?


17

আমার কাছে এমন একটি সাইট রয়েছে যা আমি তদন্ত করছি যা বড় পারফরম্যান্সের সমস্যাগুলি রয়েছে, মেমক্যাচ ব্যবহার করে আমি সংখ্যা এবং মোট এক্সটিকেশন সময় উভয় প্রশ্নের সংখ্যা কমিয়ে আনতে সক্ষম হয়েছি (3 সেকেন্ড থেকে 230 এমএসে) তবে পৃষ্ঠাটি কার্যকর করার সময়টি আমাকে বাদ দিচ্ছে (আমি আছি ডেভেল দ্বারা উত্পাদিত মানগুলির দিকে তাকানো) আমার বোধগম্যতা হল যে পৃষ্ঠা সম্পাদন সময় = পিএইচপি কার্যকর করার জন্য সময় নিয়েছে তাই আমি এপিসি ইনস্টল করেছি এবং আমি পিএইচপি অপকোডকে ক্যাশেড দেখতে পাচ্ছি এবং পরিসংখ্যানগুলি এপিসি নিয়ন্ত্রণ প্যানেলে হিট দেখাচ্ছে (এপিসিপিএফপি এপিসি দিয়ে প্রেরণ করা হয়েছে) তবে আমার পৃষ্ঠা প্রয়োগের সময় কম যায় না down সুতরাং আমি আমার প্রশ্ন দ্বিগুণ মনে করি:

  • পৃষ্ঠাগুলি প্রয়োগের সময় সমস্ত কী অবদান রাখে (আরও ভাল করে ধীর করে দেয়)? পিএইচপি চালানোর জন্য কি কেবল সময় নেওয়া হচ্ছে?
  • পৃষ্ঠা প্রয়োগের সময়টি নামিয়ে আনতে আমার কী পন্থাগুলি নেওয়া উচিত। আমি এপিসি চেষ্টা করেছিলাম কিন্তু খুব একটা সাহায্য করি নি

এই সাইটে ব্যবহৃত PSU মডিউলগুলি কেবলমাত্র বিশাল (168) তবে এখনই আমি সেই সুপারিশটি করার মতো অবস্থানে নেই, এটি গর্তের পরিস্থিতিতে আগুনের মতো।

সম্পাদনা করুন: স্থানীয় উদাহরণে এক্সএইচআরফফ চালানোর আউটপুট (মাইকিটাউন দ্বারা প্রস্তাবিত), এটি পাগল বলে মনে হচ্ছে আমার মনে হয় পরবর্তী ফলাফলগুলি ছত্রভঙ্গ করার কারণে হয়েছে? একই ইউআরএলের জন্য পৃথকীকরণের রানের তীব্র তাত্পর্য রয়েছে এবং এটির খুব বেশি সংস্থান ব্যবহারের প্রয়োজন। এটি নিশ্চিত নয় যে এটি কেন আজকের মানগুলি দেখাচ্ছে না: | (আমি কেবলমাত্র এই ল্যাপটপে এক্সএইচপিআরফ ইনস্টল করেছি)

স্থানীয় দৃষ্টান্তে এক্সএইচআরফোফ চলমান আউটপুট

উত্তর:


4

আপনার সাইটের ক্যাশেগ্রিন্ড পান। xdebug বা xhprof একটি উত্পন্ন করতে পারে। এটি আপনাকে জানাবে যে কোন ফাংশনগুলি চালাতে সবচেয়ে বেশি সময় নিচ্ছে। আপনি এটি না করা পর্যন্ত এটি একটি খারাপ অনুমান করার গেম।


আরে, পরামর্শ আমি শুধু (ল্যাপটপ সার্ভারে নয়) আমার স্থানীয় উন্নয়ন সংস্করণে xhprof দৌড়ে গিয়ে জন্য ধন্যবাদ আমি দেখতে এই - picasaweb.google.com/lh/photo/... এই বাস্তব জন্য? আমি বোঝাতে চাইছি যে কোনও পৃষ্ঠার পক্ষে 750Mb মেমরি গ্রহণ করা কি সম্ভব?
দীপেন

এটা কি মারতে পারে? একই ইউআরএলের জন্য পরবর্তী প্রোফাইলযুক্ত ডেটা, যদি আপনি নীচের দিকে তাকান তবে একই ইউআরএল অনেক কম সংস্থান গ্রহণ করে তবে একটি ডিফ চালানো সম্পূর্ণরূপে পৃথক এবং চূড়ান্ত সংস্থার ব্যবহার দেখায়।
Dipen

1
এটি সত্যই নির্ভর করে, তবে আপনার যদি 100MB র‌্যামের কিছু বেশি ভুল ব্যবহার করা থাকে তবে 99% সেটআপগুলির জন্য।
মাইকাইটাউন 2

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

1
আপনাকে ক্যাশেগ্রিন্ডে নিচে নামাতে হবে এবং আপনার সমস্ত সময় কী ক্রিয়াকলাপ খাচ্ছে তা তালিকাভুক্ত করতে হবে। img715.imageshack.us/i/cgrindout.png
mikeytown2

1

সম্পাদনা: আমি আসল পোস্টটি ভুল লিখেছি। 168 মডিউলগুলি অনেক বেশি এবং 300 থেকে 700 মিলিয়ন এসকিউএল অনুসন্ধানগুলি বিশাল । আপনি যত বেশি মডিউল ব্যবহার করবেন, মডিউলগুলি করার সাথে সাথে এগুলি আরও তদন্ত করবে।

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


আপনার একই সাথে অনেকগুলি মডিউল ইন্টারঅ্যাক্ট করার সাথে সাথে ড্রুপাল কোর গতিশীলতা পুরো ভোরকে ধীরে ধীরে করে দেয়।

আমি বলব, উদাহরণস্বরূপ, আপনি ক্ষেত্রগুলি ব্যবহারের পরিবর্তে হুক_নোড_লোড () সময়ে ডেটা লোড করে এমন অনেকগুলি মডিউল ব্যবহার করেন, ক্ষেত্রের ব্যবহারের ক্ষেত্রে ক্যাশিং দক্ষতা নিশ্চিত করার ক্ষেত্রে এটি অনেকগুলি অনুসন্ধান করবে।

রেন্ডারিংতেও অনেক সময় লাগতে পারে, দ্রুপাল_রেন্ডার () (রেন্ডারিং এপিআই যে কোনও সময় বলা হয়ে থাকে) এটি API এর একটি দুর্দান্ত অংশ (সত্যই দরকারী) তবে কিছুটা ধীর গতিতেও হয়। PDO (D7) এবং সম্পূর্ণ DBTNG- এ স্যুইচ করা (যা উপায় দ্বারা দুর্দান্ত) এছাড়াও অবহেলিত অলসতা যুক্ত করে।

এটি বলেছিল যে, নিজে থেকেই মূলটি বেশ দ্রুত (তবে এটি খুব বেশি এসকিউএল কোয়েরি করে, এমনকি প্রায় কিছুই ইনস্টল না করে), খারাপভাবে কোডেড মডিউলগুলি প্রায়শই বাধা হয়ে থাকে।

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

আপনি যদি একটি ধীর ফাইল সিস্টেম (নেটওয়ার্ক ফাইল সিস্টেম বা স্লো হার্ড ড্রাইভ) সহ কোনও বাক্সে থাকেন তবে এটি কার্যকর করার সময় একটি দৃশ্যমান প্রভাব বোঝাতে পারে। ড্রুপাল অনেক ছোট ফাইল থেকে তৈরি করা হয়, যা পিএইচপিকে প্রতিবার এগুলির মধ্যে একটি লোড করে এফএসে I / O করতে বাধ্য করে (এপিসিও এর জন্য অনেক সহায়তা করে)।

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

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

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

হুক_ইনিট () ব্যবহার করে এমন মডিউলগুলি এড়িয়ে চলুন, প্রতিটি পৃষ্ঠায় হুক_ইনিট () চালিত হচ্ছে, এমনকি যদি আপনি 403 বা 404 পেয়ে থাকেন তবে যা কিছুটা ধীরে ধীরে কমিয়ে দেয় (এটি এমনকি চিত্রের ক্যাশে | শৈলীর প্রজন্মের সময়কে ধীর করে দেয় এবং ফাইলগুলিতে 404 ত্রুটি হবে) ভোর ধীরে কেবল আপনাকে বলার জন্য ফাইলটির অস্তিত্ব নেই)।


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

আমি নিশ্চিত নই যে আমি 15 কে আরপিএম লিনাক্স ফাইল সিস্টেমে থাকায় ফাইল সিস্টেমটি কোনও বাধা হয়ে দাঁড়াবে কিনা। পৃষ্ঠার উপর নির্ভর করে এসকিউএল ক্যোয়ারীগুলি প্রায় 300-700 মিমি নিচ্ছে তবে পৃষ্ঠার প্রয়োগের সময় ~ = 3 সেকেন্ড (ডেভেল দ্বারা রিপোর্ট করা)। সমস্যা আর কী হতে পারে তা নিশ্চিত নয়।
দীপেন

ওহ দুঃখিত, আমি আপনার মূল পোস্টটি ভুল লিখেছি। ডিভেল মানটি বুট থেকে শাটডাউন পর্যন্ত গণনা করা হয় (এটি সহ অনেকগুলি জিনিস করার জন্য ডেভেল মডিউলটির পিএইচপি শাটডাউন হ্যান্ডলার রয়েছে)। কখন এটি শুরু হবে এবং বন্ধ হবে ঠিক তা আমি নিশ্চিত নই, তবে পুরো দ্রুপাল পৃষ্ঠাটি সময় নির্ধারণের সময় এবং ব্যবসায়ের নির্দিষ্টকরণগুলি অন্তর্ভুক্ত করে page হ্যাঁ, এটিতে সমস্ত কিছু অন্তর্ভুক্ত রয়েছে (এসকিউএল ক্যোয়ারির সময় এবং বিলম্ব সহ) এবং এর নিজস্ব বিলম্বিতা (ডিভেল কোয়েরি লগিংয়ের একটি কার্যকারিতা প্রভাবও রয়েছে)।
পিয়েরে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.