ক্যাশেড, পিএইচপি ধীরে ধীরে থাম্বনেইস লোড উত্পন্ন করেছে


179

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

প্রশ্ন খণ্ড বি 100 (100 বাউন্ডেসি, পুরস্কৃত)
নতুন ফোকাসটি এখন 6 জেপিজি চিত্রগুলির যে সমস্যাটি হয়েছিল তা সমাধান করার জন্য ছিল, যা বেশিরভাগ লোডিং-বিলম্বের কারণ ঘটছে। এই 6 টি চিত্রগুলি পিএইচপি-উত্পাদিত থাম্বনেইল, ক্ষুদ্র এবং কেবল 3 ~ 5 কেবি, তবে তুলনামূলকভাবে খুব ধীরে ধীরে লোড হচ্ছে । বিভিন্ন গ্রাফগুলিতে " প্রথম বাইট করার সময় " লক্ষ্য করুন । সমস্যাটি অমীমাংসিত থেকে যায়, তবে একটি অনুগ্রহ জেমসকে গিয়েছিল, যিনি শিরোনাম ত্রুটিটি ঠিক করেছিলেন যা রেডবট আন্ডারলাইন করেছেন : "একটি যদি-সংশোধিত-শর্তসাপেক্ষ অনুরোধটি সম্পূর্ণ সামগ্রীটি অপরিবর্তিত রেখে দেয়" "

প্রশ্ন খণ্ড সি my (আমার শেষ অনুগ্রহ: 250 পয়েন্ট)
দুর্ভাগ্যক্রমে, আরইডিবিট.আর.োগুলির শিরোনাম ত্রুটি স্থির হওয়ার পরেও পিএইচপি-উত্পাদিত চিত্রগুলির কারণে যে বিলম্ব হয়েছে তা অদৃশ্য হয়ে গেল। এই ক্ষুদ্র পাণি 3 ~ 5 কেবি থাম্বনেইল কি ভাবছে পৃথিবীতে? সমস্ত শিরোনামের তথ্য চাঁদে এবং পিছনে একটি রকেট প্রেরণ করতে পারে। ইতিমধ্যে সাত মাস ধরে আমি এই অটল সমস্যাটিতে আছি বলে এই বিড়ম্বনার বিষয়ে যে কোনও পরামর্শই প্রশংসিত এবং সম্ভাব্য উত্তর হিসাবে বিবেচিত। আমার অগ্রিম ধন্যবাদ।

[আমার সাইটে কিছু ব্যাকগ্রাউন্ড তথ্য: সিএসএস শীর্ষে রয়েছে। নীচের অংশে জেএস (জ্যাকুয়ারি, জ্যাকুয়ারি ইউআই, মেনু অ্যাওএম / মেনু.জ এস ইঞ্জিন, ট্যাব জেএস ইঞ্জিন, ভিডিও swfobject.js কিনেছে) দ্বিতীয় চিত্রের কালো রেখাগুলি কী লোড করতে হবে তা সূচনা করে। রাগ করা রোবটটি আমার পোষা প্রাণী "জ্যাম"। তিনি নিরীহ এবং প্রায়শই সুখী হন]]


লোড জলপ্রপাত: কালানুক্রমিক | http://webpagetest.org এখানে চিত্র বর্ণনা লিখুন


সমান্তরাল ডোমেন গোষ্ঠীভুক্ত | http://webpagetest.org এখানে চিত্র বর্ণনা লিখুন


সাইট-পারফেক্ট জলপ্রপাত | http://site-perf.com এখানে চিত্র বর্ণনা লিখুন


পিংডম সরঞ্জাম জলপ্রপাত | http://tools.pingdom.com

এখানে চিত্র বর্ণনা লিখুন


জিটিমেট্রিক্স জলপ্রপাত | http://gtmetrix.com

এখানে চিত্র বর্ণনা লিখুন



11
আমি মনে করি বেশিরভাগ ব্রাউজার কেবল একবারে 20 টি সংযোগ তৈরি করে তাই 20 এর পরে প্রথমটি পরবর্তী শুরুর আগে শেষ করতে হয়, সুতরাং 20 এর পরে মন্দা

1
আমি মনে করি আপনি নিজের ডোমেনের প্রথম উদাহরণটি আবার ভুল করতে ভুলে গেছেন। কমপক্ষে আপনি তাদের বাকিগুলি পেয়েছেন যদিও: ডি
ত্রিশডট

2
আপনি কি এই ছবিগুলির কয়েকটিকে স্প্রাইটে একত্রিত করতে পারবেন না?
মার্সেল করপেল

1
@Dagon সচেতন যে হতে HTTP- র 1.1 বোঝায় যা RFC জিজ্ঞেস ( SHOULD) HTTP এর জন্য HTTP- র 1.1 সার্ভার থেকে সর্বাধিক 2 সংযোগ ব্যবহার করতে 1.1 ক্লায়েন্ট; অবশ্যই HTTP 1.0 আরও অনেক বেশি খোলা open
30:55 এ 2

1
@ ডাগন ব্রাউজারগুলি কোনও প্রদত্ত ডোমেনের সাথে কেবল দুটি সমবর্তী সংযোগ তৈরি করবে।
এন্ডোফেজ

উত্তর:


61

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

দ্বিতীয়ত, আমি যখন আপনার পৃষ্ঠাটি লোড করি, তখন আমি all.js তে বেশিরভাগ অবরুদ্ধ (~ 1.25s) দেখতে পাচ্ছি আমি দেখতে পেলাম যে jQuery (এর পুরানো সংস্করণ) দিয়ে শুরু হবে। আপনার কেবলমাত্র লোড সময় হ্রাস করার জন্যই Google সিডিএন থেকে উল্লেখ করা উচিত , তবে সম্পূর্ণরূপে এটির জন্য কোনও HTTP অনুরোধটি এড়ানো সম্ভব

বিশেষত, সর্বাধিক বর্তমান jQuery এবং jQuery ইউআই লাইব্রেরিগুলিকে এই ইউআরএলগুলিতে উল্লেখ করা যেতে পারে ( আমি কেন বাদ পড়েছি তা আগ্রহী হলে এই পোস্টটি দেখুন http:):

//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js

//ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js

আপনি যদি কোনও ডিফল্ট jQuery UI থিম ব্যবহার করেন তবে আপনি এর সিএসএস এবং চিত্রগুলি গুগল সিডিএন থেকেও টানতে পারেন ।

JQuery সঙ্গে হোস্টিং অপ্টিমাইজ, এছাড়াও আপনি মেশা উচিত awmlib2.jsএবং tooltiplib.jsএকটি একক ফাইলের মধ্যে।

আপনি যদি এই বিষয়গুলিকে সম্বোধন করেন তবে আপনার উচিত একটি উল্লেখযোগ্য উন্নতি।


1
দুর্দান্ত মন্তব্য ডেভ! পুরাতন 1.3 জ্যাকুয়ারি অনেক ছোট ছিল তাই আমি ভেবেছিলাম এটি কাজ করার সময় এটি আরও দ্রুত হতে পারে। তবে আমি আপনার প্রস্তাবগুলি পছন্দ করি: আমার সিকিএনএন লিঙ্কগুলির মধ্যে কোনটি আমাকে আমার জিকিউয়ারি হিসাবে ব্যবহার করার পরামর্শ দিচ্ছেন? আমি কি জিকিউ ইউআই জাভাস্ক্রিপ্ট একইভাবে ব্যবহার করতে পারি? +1 আপনাকে অনেক ধন্যবাদ
স্যাম

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

1
স্প্রাইটের সাথে ভাল পরামর্শ, এটি সার্ভারের সাথে মুক্ত সংযোগের সংখ্যা হ্রাস করতে পারে
জেমসহালসাল

বর্তমানে উন্মুক্ত সংযোগগুলি হ্রাস করার জন্য কাজ করছে (40 বছর থেকে এখন 30 বছর পর্যন্ত চলে গেছে ... চূড়ান্ত ধাক্কা সবচেয়ে জটিল কারণ চিত্রগুলির কিছু ব্যাকগ্রাউন্ড রিটুইট করছে এবং একটি স্প্রাইটে (বা ???) যেতে পারে না
স্যাম

পৃষ্ঠার গতি গ্রেড আপডেট করুন: (96%) ওয়াইস্লো গ্রেড: (90%) ... এবং এখনও থাম্বনেইলগুলি আগের মতোই ধীর গতির!
স্যাম

17

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


অবিশ্বাস্য! আমি কীভাবে এটিকে উপেক্ষা করতে পারি? +1 আমি এখন এটি পরীক্ষা করছি। ফলের মতো ফুলের রাতের মতো গন্ধ লাগছে Sc
স্যাম

1
আমি জিজ্ঞাসা করতে পারি যে আপনি schattenbaum.net থেকে স্ক্যাচটেনবাম?
পেক্কা

12

আমি একজন বিশেষজ্ঞের থেকে অনেক দূরে কিন্তু ...

এর প্রতি শ্রদ্ধা জানায়: "একটি যদি-সংশোধিত-যেহেতু শর্তসাপেক্ষ অনুরোধ সম্পূর্ণ সামগ্রীটি অপরিবর্তিত অবস্থায় ফিরিয়ে দেয়" " এবং আমার মন্তব্য।

থাম্বনেইলগুলি তৈরি করতে ব্যবহৃত কোডটি নিম্নলিখিতগুলির জন্য পরীক্ষা করা উচিত:

  1. থাম্বনেইলের একটি ক্যাশেড সংস্করণ রয়েছে কি?
  2. মূল চিত্রের চেয়ে ক্যাশেড সংস্করণটি কি নতুন।

এর মধ্যে দুটিও মিথ্যা হলে থাম্বনেইল তৈরি করা উচিত এবং তা যাই হোক না কেন ফেরত দেওয়া উচিত। যদি তারা উভয়ই সত্য হয় তবে নিম্নলিখিত চেকটি করা উচিত:

  1. একটি HTTP_IF_MODIFIED_SINCE শিরোনাম আছে?
  2. ক্যাশেড সংস্করণটির সর্বশেষ সংশোধিত সময়টি কি HTTP_IF_MODIFIED_SINCE এর মতো?

এর মধ্যে দুটি মিথ্যা হলে ক্যাশে থাকা থাম্বনেলটি ফিরিয়ে দেওয়া উচিত।

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

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

সম্পাদনা: আপনার পোস্টে আপনার সংযোজনটি আমি লক্ষ্য করি না।

session_cache_limiter('public');
header("Content-type: " . $this->_mime);
header("Expires: " . gmdate("D, d M Y H:i:s", time() + 2419200) . " GMT");
// I'm sure Last-Modified should be a static value. not dynamic as you have it here.
header("Last-Modified: " . gmdate("D, d M Y H:i:s",time() - 404800000) . " GMT");

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

আমার মনে হয় এরকম কিছু আপনার দরকার:

$date = 'D, d M Y H:i:s T'; // DATE_RFC850
$modified = filemtime($filename);
$expires = strtotime('1 year'); // 1 Year

header(sprintf('Cache-Control: %s, max-age=%s', 'public', $expires - time()));
header(sprintf('Expires: %s', date($date, $expires)));
header(sprintf('Last-Modified: %s', date($date, $modified)));
header(sprintf('Content-Type: %s', $mime));

if(isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
    if(strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) === $modified) {
        header('HTTP/1.1 304 Not Modified', true, 304);
        // Should have been an exit not a return. After sending the not modified http
        // code, the script should end and return no content.
        exit();
    }
}
// Render image data

জেমস আপনি নিজের উত্তরে আপনার সম্পাদনার পরে সমস্যার সারমর্মটি পেরেক দিয়েছিলেন! If Modified Sinceইস্যু কাজ এখন মনে হয়! তবুও, ছোট থাম্বগুলির জন্য দীর্ঘ শিরোনাম / অপেক্ষার সময় এখনও সমাধান করা যায় নি ...
স্যাম

@ জেমস পিএস রেডবোট.আর.জি বলেছেন যে আপনার মেয়াদ শেষ হওয়ার শিরোনামটি ভুল মান। আমার মনে হয় এটি জিএমটি হতে হবে, সিইটি নয়?
স্যাম

@ স্যাম দুঃখিত, আমার সার্ভার ইউকেতে রয়েছে তাই এটি স্বয়ংক্রিয়ভাবে GMT তারিখ তৈরি করে। তারিখের পরিবর্তে কেবল পিএইচপি ফাংশন জিএমডিট ব্যবহার করুন। এটি আপনার সার্ভার সময়ের সাথে সম্পর্কিত GMT তারিখ তৈরি করতে হবে।
জেমস

1
@ সাম, আপনার অপেক্ষার সময়টি হ'ল স্ক্রিপ্ট সম্পাদনের সময়। এটি হয় আপনার কোডটি আপনার হেডার পাঠানোর পয়েন্টে পৌঁছাতে বা আপনার শিরোনামগুলি প্রেরণের পরে বেরিয়ে না আসা পর্যন্ত দীর্ঘ সময় নেয়।
জেমস

@ জেমস, আমি দেখতে পেয়েছি ... তবে এই পিএইচপি থাম্বনেইল জেনারেটর ছাড়াও আরও অনেকগুলি সামান্য দৈর্ঘ্য-স্ক্রিপ্ট রয়েছে যা বিভিন্ন সময়ের বিভিন্ন অংশে (অনুবাদ, মেনু লোডিং ইত্যাদি) সমস্ত সময়ের একটি অংশে করে ... তারা মোটেও বাধা হয়ে দাঁড়িয়েছে বলে মনে হচ্ছে না ... সমস্যাটি কি কেবল থাম্বনেইল জেনারেটর পিএইচপি কেবল তখনই পরিচালনা করে?
স্যাম

6

বাহ, সেই চিত্রটি ব্যবহার করে জিনিসগুলি ব্যাখ্যা করা শক্ত .. তবে এখানে, কিছু চেষ্টা করে:

  • ফাইলগুলি 33-36 দেরীতে লোড করে, কারণ এগুলি swf এর মধ্যে ডায়নামিকভাবে লোড হয় এবং কোনও অতিরিক্ত সামগ্রী লোড করার আগে swf (25) প্রথমে সম্পূর্ণ লোড হয়
  • 20 এবং 21 ফাইলগুলি সম্ভবত (আমি জানি না, কারণ আমি আপনার কোড জানি না) লাইব্রেরিগুলি যা all.js (11) দ্বারা লোড করা হয় তবে 11 চালানোর জন্য এটি পুরো পৃষ্ঠার জন্য অপেক্ষা করে (এবং সম্পদগুলি) লোড করতে (আপনার এটি পরিবর্তন করা উচিত)
  • 22-32 ফাইলগুলি সেই দুটি গ্রন্থাগার দ্বারা লোড করা হয়, সেগুলি সম্পূর্ণরূপে লোড হওয়ার পরে

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

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

4

একটি সহজ অনুমান কারণ এই ধরণের বিশ্লেষণে প্রচুর এ / বি পরীক্ষার প্রয়োজন হয়: আপনার .ch ডোমেনটি পৌঁছানো শক্ত বলে মনে হচ্ছে (প্রথম বাইটটি আসার আগে দীর্ঘ, সবুজ ব্যান্ডগুলি)।

এর অর্থ হ'ল হয় .ch ওয়েবসাইটটি দুর্বলভাবে হোস্ট করা হয় বা আপনার আইএসপি তাদের কাছে ভাল রুট করে না।

চিত্রগুলি দেওয়া, এটি একটি বৃহত পারফরম্যান্স হিট ব্যাখ্যা করতে পারে।

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


4

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

এই পরীক্ষাগুলি আপনাকে বলবে কী ভুল এবং কী পরিবর্তন করতে হবে।


ধন্যবাদ! স্কোরগুলি হল: পৃষ্ঠা গতিতে 92 এবং ইলোতে 93। কী অনুপস্থিত তা হ'ল: ALPE ALPE রাখুন এবং সিডিএন ব্যবহার না করে।
স্যাম

আপডেট: যথাক্রমে 96 এবং 90
স্যাম

4

সুতরাং আপনার পিএইচপি স্ক্রিপ্ট প্রতিটি পৃষ্ঠার লোডে থাম্বনেইল তৈরি করছে? প্রথমে, থাম্বনেইল করা চিত্রগুলি যদি প্রায়শই পরিবর্তন না হয়, আপনি কি একটি ক্যাশে সেট আপ করতে পারেন যে প্রতিবার পৃষ্ঠা লোড হওয়ার পরে সেগুলি পার্স করতে হবে না? দ্বিতীয়ত, আপনার পিএইচপি স্ক্রিপ্টটি imagecopyresampled()থাম্বনেইল তৈরি করতে কিছু ব্যবহার করছে? এটি একটি তুচ্ছ তাত্পর্যপূর্ণ নমুনা এবং পিএইচপি স্ক্রিপ্ট তার সংকুচিত জিনিসগুলি না নামানো পর্যন্ত কোনও কিছুই ফিরিয়ে আনবে না। imagecopymerged()পরিবর্তে ব্যবহার করলে চিত্রের গুণমান হ্রাস পাবে, তবে প্রক্রিয়াটি দ্রুততর হবে। এবং আপনি কতটা হ্রাস করছেন? এই থাম্বনেইলগুলি কি মূল চিত্রের আকার 5% বা 50%? আসল চিত্রের বৃহত্তর আকার সম্ভবত মন্দার দিকে নিয়ে যায় কারণ পিএইচপি স্ক্রিপ্টটি সঙ্কুচিত হওয়ার আগে এবং ছোট্ট একটি থাম্বনেল আউটপুট করার আগে মেমরিতে মূল চিত্রটি পেতে হয়।


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

2
থাম্বনেইলস ক্যাশে থাকলে নিশ্চিত করুন যে স্ক্রিপ্টটি তাদের ক্যাশে থেকে টানছে তা প্রতিধ্বনি অনুসরণ readfile()না করে ব্যবহার file_get_contents()করছে যা পুরো ফাইলটি পিএইচপি স্ক্রিপ্টের স্মৃতিতে না সরানো পর্যন্ত আউটপুটের জন্য অপেক্ষা করে।
মিডনাইটলাইটিং

আরও ভাল - যদি ফাইলগুলি ক্যাশে করা থাকে তবে এইচটিএমএল এমনভাবে তৈরি করুন যা পিএইচপি ছাড়াই ডিস্ক থেকে ক্যাশেড চিত্রটিতে সরাসরি টান। ভিডিও স্ক্রিপ্টগুলিতে আমি ভিডিও কোড ডট নেট এর
অ্যান্ডিগ

"একটি ক্যাশে ফোল্ডার রয়েছে যেখানে ..." এবং কীভাবে সেগুলি দ্রুত অবলম্বন করা হয়? আপনার URL টি ক্যাশেড ফাইল বা কোনও পিএইচপি স্ক্রিপ্টের দিকে সরাসরি নির্দেশ করে? আপনি কি পুনর্নির্দেশ বা রিডফিল () ব্যবহার করেন? একই পিএইচপি স্ক্রিপ্টটিতে কি থাম্বনেইল জেনারেশন কোড রয়েছে - অথবা আপনি / এর্কায়ার অন্তর্ভুক্ত ব্যবহার করে কোডের বেশিরভাগ লোডিং স্থগিত করেন?
সিমকায়িয়ান

4

আমি আপনার ওয়েবসাইটের ইউআরএল খুঁজে পেয়েছি এবং হোমপেজ থেকে একটি পৃথক jpg ফাইল পরীক্ষা করেছি। যদিও লোডিংয়ের সময়টি এখন উপযুক্ত (161 মিমি), এটি 126 মিমের জন্য অপেক্ষা করছে, যা অনেক বেশি far

আপনার শেষ-সংশোধিত শিরোনামগুলি শনি, 01 জানুয়ারী, 12:00:00 GMT- এ সেট করা আছে, যা প্রজন্মের আসল তারিখ হতে "বৃত্তাকার" বলে মনে হচ্ছে ;-)

যেহেতু ক্যাশে-নিয়ন্ত্রণ "সর্বজনীন, সর্বোচ্চ-বয়স = 14515200", তাই নির্বিচারে শেষ-সংশোধিত শিরোনাম 168 দিন পরে সমস্যার কারণ হতে পারে।

যাইহোক, এটি বিলম্বের আসল কারণ নয়।

আপনার থাম্বনেইল জেনারেটরটি যখন থাম্বনেইলটি ইতিমধ্যে বিদ্যমান রয়েছে তখন আপনাকে পরীক্ষা করতে হবে এবং ছবিটি পরীক্ষা করতে এবং বিতরণ করতে এত সময় ব্যয় করতে পারে কি?

আপনি স্ক্রিপ্টটি প্রোফাইলে xdebug ইনস্টল করতে পারেন এবং কোথায় বাধা রয়েছে তা দেখতে পারেন।

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

আমি বুঝেছি আপনি এখানে আপনার প্রদেয় জেনারেটর পোস্ট করতে পারবেন না তবে আমি ভয় করি যে এখানে অনেকগুলি সম্ভাব্য সমস্যা আছে ...


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

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

1
আমি খাঁটি স্ট্যাটিক ফাইলগুলিতে তুলনামূলকভাবে দীর্ঘ বিলম্ব দেখতে পাচ্ছি (উদাহরণস্বরূপ থাম্বগুলির সাথে যুক্ত চিত্রগুলি), যেমন 36 মিমি। সার্ভারগুলির মধ্যে একটিতে আমি পরিচালনা করছি (যা কোনও প্রাণী নয় ... র‌্যাল এর 2 জিবি সহ ডুয়াল কোর), আমি স্থায়ী ফাইলগুলিতে 20 মিমি এর মতো প্রায় অর্ধেক পাই।
ক্যাপসুল

আকর্ষণীয় ... 1. আপনি কী পরিমাপের জন্য সফ্টওয়্যার / অনলাইন সরঞ্জাম ব্যবহার করেন? ২. আপনার দ্রুত 20 এমএস পরিমাপ কি সামঞ্জস্যপূর্ণ (কত xx%) আপনার ফলাফলগুলি পৃথক হতে পারে? আমার ক্ষেত্রে আমি কোন পরীক্ষার সরঞ্জামটি ব্যবহার করি তার উপর নির্ভর করে এটি সত্যই পরিবর্তিত হয়। কিছু খুব সামঞ্জস্যপূর্ণ ( gtmetrix.com ) কিছু সত্যই পরিবর্তিত হয় ( pingdom.com ) এবং এক্সএক্স এমএসে সময় দেওয়া শক্ত কারণ তারা প্রতিবার পরিবর্তিত হয় ...
স্যাম

আমি ফায়ারব্যাগের নেট ট্যাবটি ব্যবহার করছি। 20 মিমি দ্রুততম সময় আমি পাচ্ছি ing এটি 20 থেকে 28 এর মধ্যে পরিবর্তিত হয় course অবশ্যই আপনার সার্ভারে আমি যে 36 মিমি মাপ করেছি তাও দ্রুততম।
ক্যাপসুল

4

যদি সত্যই কোনও ভাল কারণ না থাকে (সাধারণত সেখানে থাকে না) আপনার চিত্রগুলিতে পিএইচপি দোভাষীকে অনুরোধ করা উচিত নয়।

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

এটি যদি কমপক্ষে কাজ না করে তবে আপনার এখন চিত্রগুলি যেভাবে তৈরি এবং চেক করা হয়েছে তার সাথে কিছুই করার নেই।


ধন্যবাদ গোরান, তবে এটি আমি যে মার্জিত সমাধানের জন্য চাই তা নয়: আমার মনে হয় আমার ক্ষেত্রে কিছু মশলাদার কিছু আছে, এবং সাধারণত পিএইচপি স্ক্রিপ্টটির 304 শিরোলেখ পাস করার বা ওয়েটারটি বিকাশ করতে খুব বেশি সময় লাগে না চিত্র ইত্যাদি আপনার পরামর্শের জন্য ধন্যবাদ যাইহোক এটি সম্পূর্ণ নতুন দৃষ্টিকোণ থেকে সমস্যার নির্দেশ দেয়! যা নিজেই মূল্যবান +1
স্যাম

3

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

পিএইচপি প্রতিটি স্ক্রিপ্ট চলার জন্য সেশন ডেটা লক করে রাখবে, সেশন হ্যান্ডলিং শুরু হওয়া মুহুর্ত থেকে স্ক্রিপ্ট শেষ হওয়ার মুহুর্তে বা সেশন_রাইট_ক্লোজ () যখন ডাকা হবে। এটি কার্যকরভাবে জিনিসগুলিকে সিরিয়ালাইজ করে। বিশেষত মন্তব্য সেশন উপর পিএইচপি পৃষ্ঠা দেখুন, মত এই এক


রিকার্ডো পরামর্শের জন্য ধন্যবাদ! দেখে মনে হচ্ছে অ্যালিক্স আপনার মতোই পরামর্শ দিচ্ছে (ঠিক?) ব্যবহারিক ভাষায়, আপনি আমাকে কোড থেকে সরিয়ে / সরানোর পরামর্শ দিচ্ছেন, তারপরে আবার গ্রাফগুলি পরীক্ষা করে আবার রিপোর্ট করবেন? অনেক প্রশংসিত.
স্যাম

1
হ্যাঁ আমি তাই মনে করি. আমি আপনাকে চিত্র-উত্পন্ন স্ক্রিপ্টগুলি পরিবর্তন করার পরামর্শ দিচ্ছি যাতে তারা $ _SESSION ডেটা বা অনুরূপের উপর নির্ভর না করে (সম্ভবত তারা ইতিমধ্যে না করে)। তারপরে যত তাড়াতাড়ি সম্ভব সেশন_রাইট_ক্লোজ () ব্যবহার করুন , বা আরও ভাল sc স্ক্রিপ্টগুলিতে সেশন ব্যবহার করা এড়ানো উচিত। পরীক্ষা করে দেখুন php.net/manual/en/function.session-write-close.php
রিকার্ডো Pardini

3

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

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

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


অ্যালিক্স আপনার পরামর্শের জন্য ধন্যবাদ। একটি প্রশ্ন: exit();একই লাইনে ফাংশন হয় session_write_close();? বর্তমানে কোডটির মূল লেখক সমস্যাটি তদন্ত করছেন, তবে হেলস বলে মনে হচ্ছে তিনি আরও কিছুটা অন্ধকারে রয়েছেন, যেহেতু যদি সংশোধিত-হ্যান্ডলিংয়ের সাথে হ্যান্ডলিংয়ের একই বিলম্ব হয় বলে মনে হয় তবে কোডটির উন্নততর আপডেট করা হয়েছে (নতুন জলপ্রপাত) গ্রাফগুলি একই গ্রাফ তৈরি করেছিল, যদিও সত্যিকারের কৃপণ ফলাফলগুলি দ্রুত লোডিংগুলি দেখতে পেয়েছে / কেটে গেছে! এটি একটি খুব অদ্ভুত বিষয় ...
স্যাম

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

2

আপনি কি কোনও পার্থক্য আছে কিনা তা দেখার জন্য নিয়মিত ছবি দ্বারা পিএইচপি উত্পাদিত থাম্বনেলগুলি প্রতিস্থাপন করার চেষ্টা করেছেন? সমস্যাটি চারপাশে হতে পারে - আপনার পিএইচপি কোডে একটি ত্রুটি প্রতিটি সার্ভারের অনুরোধের উপর থাম্বনেইলের পুনঃজেনার দিকে পরিচালিত করে - আপনার কোড (ঘুম ()?) এর সাথে একটি ঘড়ির সমস্যার সাথে জড়িত - একটি হার্ডরিভ ইস্যু যা খুব খারাপ রেসের অবস্থার কারণ হয় issue যেহেতু সমস্ত থাম্বনেইল একই সাথে লোড / উত্পন্ন হয়।


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

2

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

http://i.tinysrc.mobi/ [উচ্চতা] / [প্রস্থ] /http://domain.tld/path_to_img.jpg

[প্রস্থ] (alচ্ছিক): - এটি পিক্সেলগুলির একটি প্রস্থ (যা অভিযোজিত- বা পরিবার-আকারকে ওভাররাইড করে)। যদি '-' বা 'x' দিয়ে উপসর্গ করা থাকে তবে এটি নির্ধারিত আকার থেকে বিয়োগ বা সঙ্কুচিত হয়ে যাবে of

[উচ্চতা] (alচ্ছিক): - এটি পিক্সেলের একটি উচ্চতা, যদি প্রস্থও উপস্থিত থাকে। এটি অভিযোজিত- বা পরিবার-আকারকে ওভাররাইড করে এবং '-' বা 'x' দিয়ে উপস্থাপিত হতে পারে।

আপনি এখানে API এর সারাংশ পরীক্ষা করতে পারেন


প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী

টিনিএসআরসি আমার কী খরচ করে?

কিছুই নেই।

আমি কখন tinySrc ব্যবহার শুরু করতে পারি?

এখন।

পরিষেবাটি কতটা নির্ভরযোগ্য?

আমরা tinySrc পরিষেবা সম্পর্কে কোন গ্যারান্টি নেই। তবে এটি একটি বড়, বিতরণ করা মেঘের অবকাঠামোতে চলে , তাই এটি বিশ্বব্যাপী উচ্চ প্রাপ্যতা সরবরাহ করে। এটি আপনার সমস্ত প্রয়োজনের জন্য পর্যাপ্ত হওয়া উচিত।

এটা কত দ্রুত?

tinySrc ক্যাশে মেমরি এবং 24 ঘন্টা পর্যন্ত আমাদের ডেটাস্টোরে চিত্রগুলি পুনরায় আকার দেয় এবং এটি প্রতিবার আপনার আসল চিত্রটি আনবে না। এটি পরিষেবাগুলির ব্যবহারকারীর দৃষ্টিকোণ থেকে নির্লজ্জভাবে দ্রুত করে তোলে । (এবং একটি দুর্দান্ত পার্শ্ব-প্রতিক্রিয়া হিসাবে আপনার সার্ভার লোড হ্রাস করে))


শুভকামনা আপনি কেবল কোডটি প্রদর্শন করছেন না: কেবলমাত্র একটি পরামর্শ showing


2

কিছু ব্রাউজার কেবল ডোমেন অনুযায়ী 2 টি সমান্তরাল ডাউনলোডগুলি ডাউনলোড করে, আপনি দুটি থেকে তিনটি পৃথক হোস্টনামের মাধ্যমে অনুরোধগুলিকে শ্যাড করতে অতিরিক্ত ডোমেন যুক্ত করতে পারবেন না ? উদাঃ 1.imagecdn.com 2.imagecdn.com


আপনার পরামর্শের জন্য +1: আপনাকে ধন্যবাদ, তবে আপনি যদি আমার (স্বীকৃত: খুব বিশৃঙ্খল আঁকাগুলির) কাছাকাছি তাকান তবে আপনি দেখতে পাবেন যে কিছু আইটেম এসেছে ....... কিছু কিছু এসেছে ........ com .......... ডি বাট, সম্ভবত এটি আপনার পরামর্শ মতো কৌতুকটি করে না? (আমি দেখতে পাচ্ছি যে আপনি কেবলমাত্র পৃথক ডোমেনের পরিবর্তে সাব-ডোমেনের পরামর্শ দিন))
স্যাম

1

সবার আগে, আপনার If-Modified-Sinceঅনুরোধগুলি হ্যান্ডেল করা দরকার এবং যেমনটি জেমস বলেছিলেন। এই ত্রুটিটি বলে যে: "আমি যখন আপনার সার্ভারকে জিজ্ঞাসা করি যদি সেই চিত্রটি শেষ সময় থেকে পরিবর্তিত হয়, তবে এটি একটি সাধারণ হ্যাঁ / না পরিবর্তে পুরো চিত্রটি প্রেরণ করে"।

সংযোগ এবং প্রথম বাইটের মধ্যে সময়টি সাধারণত আপনার পিএইচপি স্ক্রিপ্টটি চালাতে লাগে। স্পষ্টত যে script স্ক্রিপ্টটি চালানো শুরু হওয়ার পরে কিছু ঘটছে।

  1. আপনি এটি প্রোফাইলিং বিবেচনা করেছেন? এটিতে কিছু সমস্যা থাকতে পারে।
  2. উপরের সমস্যাটির সাথে একত্রিত হয়ে আপনার স্ক্রিপ্টটি প্রয়োজনের তুলনায় আরও বহুবার চলতে পারে। আদর্শভাবে, এটি শুধুমাত্র থাম্ব তৈরি করতে হবে যদি আসল চিত্রটি পরিবর্তিত হয় এবং প্রতিটি অন্যান্য অনুরোধের জন্য ক্যাশে থাম্বস প্রেরণ করা হয়। আপনি কি পরীক্ষা করেছেন যে স্ক্রিপ্টটি অযৌক্তিকভাবে চিত্রগুলি তৈরি করছে (উদাহরণস্বরূপ প্রতিটি অনুরোধের জন্য)?

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

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


-১: 'সংশোধিত নয়' এবং কোনও সংশোধিত মেয়াদোত্তীর্ণ সময়ের সাথে শর্তযুক্ত অনুরোধের জবাব দেওয়া আপনার সাইটকে 99.9% ক্ষেত্রে ধীর করে দেবে (বিটিডাব্লু, এএফআইকে, 304 প্রতিক্রিয়া সহ আপাচে সংশোধিত ক্যাচিং তথ্য দেওয়ার কোনও উপায় নেই)
সিএমসিবিয়ান

এবং, এটি আমার উত্তর সঙ্গে কি আছে?
হালিল Özgür

1

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


ধন্যবাদ! কিছু গবেষণার পরে, মনে হয়, সার্ভার স্ট্যাটিক কুকিগুলিতে সাবডোমেনগুলি সেটআপ করা কেবলমাত্র একটি সাইটকে দ্রুততর করে তোলে, যখন অনেকগুলি চিত্র থাকে, কিছুটা অতিরিক্ত ওভারহেড ব্যয় করে। আমার ক্ষেত্রে আমি বাজি দিয়েছি যে 6 টি চিত্র সাব / অতিরিক্ত ডোমেনের ওভারহেডের চেয়ে দ্রুত লোড হবে না। রাইট?
স্যাম

1
এনজিঙ্কস সেন্ডফিল সিস্কেল সমর্থন করে, যা এইচডিডি থেকে সরাসরি ফাইল প্রেরণ করতে পারে। অনুগ্রহ করে নীচের ডকটি wiki.nginx.org/HttpCoreModule দেখুন 'সেন্ডফিল', 'আইও' নির্দেশনায়। এই ওয়েবসার্ভার অ্যাপাচের চেয়ে চিত্রের মতো স্ট্যাটিক ফাইলগুলি সরবরাহ করে।
nefo_x

আকর্ষণীয় ... আমি জানতাম না আপাচে এর চেয়ে ভাল আর কিছু হতে পারে। উপায় দ্বারা, আপনি কী বোঝাতে চেয়েছেন straight from hdd। আপনি কি তার পরিবর্তে বলতে চাইছেন straight from DDR3 RAM/ straight from Solid State Diskআমি জানি যে হার্ডডিস্কগুলি, ডিডিআর 3 রাম বা সলিড স্টেট ডিস্কের বিপরীতে খুব অল্প অ্যাক্সেসের সময় নেয়। তবে আমি মনে করি এটি এখানে কোনও বাধা নয় ...
স্যাম

1
মুল বক্তব্যটি হ'ল এনগিনেক্স স্ট্যাটিক ডেটা আউটপুট বাফার করে না, যেমন অ্যাপাচি করে।
nefo_x

1

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

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


+1 উত্তেজনাপূর্ণ অনুমান এখন এটি চেষ্টা করে দেখুন! আমি নতুন জলপ্রপাতটি যখন প্রবাহিত করব ফিরে ফিরে আসব ...
স্যাম

দুর্ভাগ্যক্রমে, flush();শিরোনামের পরে ডান যুক্ত করার পরে, কোনও পরিবর্তন হয় না বলে মনে হচ্ছে! এর অর্থ কী হতে পারে?
স্যাম

নিশ্চিত না. কোনও প্রশ্ন আছে কীভাবে আপনি আমাদের পিএইচপি স্ক্রিপ্টে লিঙ্ক করতে পারেন? আমি জানি আপনি এটির জন্য অর্থ প্রদান করেছেন, তবে এটি কী করছে তা না দেখেই আচরণের কারণ কী হতে পারে তা বলা অবিশ্বাস্যরকম কঠিন।
এআর ইওনস

থাম্বনেলগুলি সিএসএসে বা <img> ট্যাগগুলিতে উল্লেখ করা হচ্ছে?
এআর ইউনস

সিএসএসে রেফারেন্স বলতে কী বোঝ? তারা শরীরের এইচটিএমএল এর পাশে এবং নীচে রয়েছে: <img src="thumbprocessor.php?src=/folder/image.jpg&w=100&h=200" id="thumbnail"/>
স্যাম

1

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

টিটিএফবি হ'ল ব্যাকএন্ড স্টাফ, সার্ভার স্টাফ, আউটপুট এবং হ্যান্ডশেকিংয়ের প্রাক প্রসেসিং।

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

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

আপনি অনেকগুলি ডোমেন এবং সংস্থানগুলি মোকাবেলায় ডিএনএস প্রিফেচিং চেষ্টা করতে পারেন, http://html5boilerplate.com/docs/DNS- প্রিফেচিং /

সার্ভারটি কি আপনার নিজের একটি ভাল / শালীন সার্ভার? কখনও কখনও একটি ভাল সার্ভার অনেক সমস্যার সমাধান করতে পারে। আমি ' হার্ডওয়্যার সস্তা, প্রোগ্রামার ব্যয়বহুল ' মানসিকতার ভক্ত , আপনার যদি সুযোগ থাকে এবং অর্থ সার্ভার আপগ্রেড করে। এবং / অথবা ম্যাক্সসিডিএন বা ক্লাউডফ্লেয়ার বা অনুরূপ একটি সিডিএন ব্যবহার করুন ।

শুভকামনা!

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


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

-1

বলার জন্য দুঃখিত, আপনি কয়েকটি ডেটা সরবরাহ করেছেন। এবং আপনার ইতিমধ্যে কিছু ভাল পরামর্শ ছিল।

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

পিএইচপি সহ কখনও স্ট্রিমের চিত্র নেই। এটি আপনার সার্ভারকে ধীর করে দেবে, আপনি এটি যেভাবেই ব্যবহার করেন না কেন।

অর্থপূর্ণ ইউআরআই সহ এগুলি একটি অ্যাক্সেসযোগ্য ফোল্ডারে রাখুন। তারপরে তাদের আসল ইউআরআই দিয়ে সরাসরি তাদের কল করুন। আপনার যদি ফ্লাই জেনারেশনের প্রয়োজন হয় তবে আপনার অবশ্যই ইমেজ ডিরেক্টরিতে একটি .htaccess লাগাতে হবে যা একটি জেনারেটর পিএইচপি-স্ক্রিপ্টে পুনঃনির্দেশ করে তবেই যদি অনুরোধের চিত্রটি অনুপস্থিত থাকে। (একে ক্যাশে অন-অনুরোধ কৌশল বলা হয়)।

এটি করার ফলে পিএইচপি সেশন, ব্রাউজার-প্রক্সি, ক্যাশিং, ETAGS, যা কিছু একসাথে ঠিক হবে fix

ডাব্লুপি-সুপারচাচি সঠিকভাবে কনফিগার করা থাকলে এই কৌশলটি ব্যবহার করে।

আমি এটি কিছু সময় আগে লিখেছিলাম ( http://code.google.com/p/cache-on-request/source/detail?r=8 ), শেষ সংশোধনগুলি ভেঙে গেছে তবে আমার ধারণা 8 বা তারও কম কাজ করা উচিত এবং আপনি করতে পারেন কিছু পরীক্ষা করার জন্য উদাহরণ হিসাবে .htaccess ধরুন (যদিও আমি যেভাবে ব্যবহার করেছি তার চেয়ে htaccess কনফিগার করার আরও ভাল উপায় আছে)।

এই কৌশলটি আমি এই ব্লগ পোস্টে বর্ণনা করেছি ( http://www.stefanoforenza.com/need-for-cache/ )। এটি সম্ভবত খারাপভাবে লেখা হয়েছে তবে এটি বিষয়গুলি পরিষ্কার করতে সহায়তা করতে পারে।

আরও পঠন: http://meta.wikimedia.org/wiki/404_ হ্যান্ডল_কচিং


মনঃ
টাকোন

আপনার ইনপুট টাকোন জন্য ধন্যবাদ। আপনি কি বলছেন যে পিএইচপি স্ক্রিপ্টটি যত ভাল হবে তা বিবেচ্য নয়, এটি সার্ভারটি ধীর করবে, বা আপনি যেমন আপনার পোস্টে বলেছেন "এটি আপনার সার্ভারটিকে মেরে ফেলবে, যাই হোক না কেন।"
সাম

স্ক্রিপ্টটি যতই ভাল হোক তা সার্ভারকে ধীর করে দেবে। প্রতিটি চিত্রের জন্য সার্ভারকে পিএইচপি লোড করতে হবে এবং এটি বাইট-প্রতি বাইট চিত্র প্রবাহিত করতে হবে। পিএইচপি দোভাষী দ্বারা পাস না করে অ্যাপাচি কাজটি করে দিন। পার্শ্ববর্তী ফলাফল হিসাবে, অন্যান্য অনেকগুলি সম্ভাব্য ভুল স্বয়ংক্রিয়ভাবে এড়ানো হবে, যেমন সেশনস, বিষয়বস্তু-দৈর্ঘ্য, ক্যাশিং, মাইম / প্রকার ইত্যাদি performance
টাকোন

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