আমি কীভাবে অপেক্ষার সময় (টিটিএফবি) হ্রাস করতে পারি


113

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

ক্রোম থেকে সময়

আপনি দেখতে পাচ্ছেন যে টিটিএফবি (প্রথম বাইটের সময়) খুব বেশি।
এটি এসকিউএল সাজানোর কারণে হয়েছে কিনা তা আমি নিশ্চিত নই। যদি সে কারণ হয় তবে আমি এবার কীভাবে হ্রাস করব?
নাকি এটি টিটিএফবির কারণে হয়েছে। আমি এমন ব্লগগুলি দেখেছি যা বলছে যে টিটিএফবি কম হওয়া উচিত (<1 সিসি)। তবে আমার জন্য এটি> 1 সেকেন্ড দেখায়। এটি আমার জিজ্ঞাসা বা অন্য কিছু কারণে?
আমি কীভাবে এবার কমাতে পারি তা নিশ্চিত নই।
আমি কৌনিক ব্যবহার করছি। এসকিউএল বাছাইয়ের পরিবর্তে আমার টেবিলটি সাজানোর জন্য কৌণিক ব্যবহার করা উচিত? (অনেকগুলি পোস্ট বলে যে এটি হওয়া উচিত নয়)
আমি কী জানতে চাই তা কীভাবে আমি টিটিএফবি হ্রাস করতে পারি। বলছি! আমি আসলে এটি নতুন। এটি আমার দলের সদস্যরা আমাকে দিয়েছিলেন। আমি কীভাবে টিটিএফবি সময় হ্রাস করতে পারি তা নিশ্চিত নই। আমি অনেক পোস্ট দেখেছি, তবে সঠিকভাবে বুঝতে পারছি না। টিটিএফবি কী? এটি কি সার্ভারের দ্বারা গৃহীত সময়?


8
আপনার প্রশ্নটি এখানে কী চলছে তা বোঝার অভাব দেখায়। এটি এখন সার্ভারের জন্য অপেক্ষা করছে, সুতরাং আপনি AngularJS ব্যবহার করুন বা অন্য কোনও কাঠামো অপ্রাসঙ্গিক। আপনি যদি সার্ভার সাইড কোডটি উন্নত করতে চান তবে আপনাকে অবশ্যই আমাদের কোডটি প্রদর্শন করতে হবে।
dirkk

@ গোবিন্দপ্যাটেল, নীচের আমার উত্তর যদি আপনাকে সহায়তা করে বা আপনি মনে করেন যে এটি প্রশ্নের উত্তর দিয়েছে, দয়া করে এটি সঠিক উত্তর হিসাবে চিহ্নিত করুন;)
ড্যানিয়েল টি। সোব্রোসা

সাধারণ টেবিল বাছাইয়ের জন্য (ধরে নেওয়া যে টেবিলের ডেটা ইতিমধ্যে এনেছে এবং আপনি কেবল অন্য কোনও সম্পত্তি দ্বারা ডেটাটি রিসর্ট করছেন) সাজানো তথ্যের জন্য অন্য কোনও অনুরোধ প্রেরণের চেয়ে ক্লায়েন্ট-পার হয়ে এটি করা আরও দ্রুত হবে।
রিচিক এসসি

উত্তর:


115

টিটিএফবি হ'ল প্রতিক্রিয়ার বডিটির প্রথম বাইট করার সময় নয় (যেমন, দরকারী ডেটা, যেমন: জসন, এক্সএমএল, ইত্যাদি), বরং সার্ভার থেকে প্রাপ্ত প্রতিক্রিয়াটির প্রথম বাইট করার সময়। এই বাইটটি প্রতিক্রিয়া শিরোনামগুলির শুরু।

উদাহরণস্বরূপ, সার্ভার যদি কঠোর পরিশ্রম করার পূর্বে শিরোনামগুলি প্রেরণ করে (ভারী এসকিউএল এর মতো), আপনি খুব কম টিটিএফবি পাবেন তবে এটি "সত্য" নয়।

আপনার ক্ষেত্রে, টিটিএফবি সার্ভারে ডেটা প্রসেসিংয়ের সময় ব্যয় করার সময়কে উপস্থাপন করে।

টিটিএফবি হ্রাস করতে, আপনাকে সার্ভার-সাইডের কাজটি দ্রুত করতে হবে।


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

1
: এই নিবন্ধটি একটি চেহারা আছে, এটা বিস্তারিত সমস্যা ব্যাখ্যা এবং সম্ভাব্য সমাধানের জন্য পরামর্শ দেয় websiteoptimization.com/speed/tweak/time-to-first-byte
LucaM


যদি এই উত্তরটি আপনাকে @ গোবিন্দপ্যাটেলকে সহায়তা করে, সঠিক প্রতিক্রিয়া হিসাবে চিহ্নিত করুন, দয়া করে;)
ড্যানিয়েল টি। সোব্রোসা

16

আমি একই সমস্যা পূরণ করেছি। আমার প্রকল্পটি স্থানীয় সার্ভারে চলছে। আমি আমার পিএইচপি কোড চেক করেছি।

$db = mysqli_connect('localhost', 'root', 'root', 'smart');

আমি localhostআমার স্থানীয় ডাটাবেসের সাথে সংযোগ করতে ব্যবহার করি । এটি সম্ভবত যে সমস্যার কারণ আপনি বর্ণনা করছেন তার কারণ। আপনি আপনার HOSTSফাইলটি পরিবর্তন করতে পারেন । লাইন যুক্ত করুন

127.0.0.1 localhost


5
ধন্যবাদ. আমি localhost(TTFB: 1s) থেকে 127.0.0.1(TTFB: 12ms)
মিঃ ব্ল্যাক

আমার ক্ষেত্রে এই উত্তরটিও সহায়তা করেছিল: TTFB 2,39 s -> টিটিএফবি 110 এমএস। কেন কেউ এটিকে নিম্নচ্যুত করলেন?
মার্টিন পাবস্ট

আমি মনে করি যে আমার বসন্ত-বুট অ্যাপ্লিকেশনের জন্য এটি সংশোধন করা হয়েছে, আমি একটি Docker-কনটেইনার একটি Postgres ডাটাবেসের ব্যবহার করছি, TTFB আপ 10s ছিল, এখন এটি 40ms সম্পর্কে একমাত্র :)
Sepultura

"লোকালহোস্ট" এত বেশি সময় নেয় কেন?
শোদেব

14

টিটিএফবি এমন একটি বিষয় যা পর্দার আড়ালে ঘটে। পর্দার আড়ালে কী ঘটে যায় সে সম্পর্কে আপনার ব্রাউজার কিছুই জানে না।

আপনাকে কী কী ক্যোয়ারী চালানো হচ্ছে এবং ওয়েবসাইটটি কীভাবে সার্ভারের সাথে সংযুক্ত হয় তা খতিয়ে দেখা দরকার।

এই নিবন্ধটি টিটিএফবি বুঝতে সহায়তা করতে পারে, তবে অন্যথায় আপনাকে আপনার অ্যাপ্লিকেশনটির আরও গভীর খনন করতে হবে।


4

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

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


নিবন্ধটির মন্তব্য বিভাগটি পরীক্ষা করে দেখতে ভুলবেন না। অনেক লোক টিটিএফবি'র সাথে সম্পর্কিত হওয়ার বাধ্যতামূলক কারণ দেয়।
জ্যাক ম্যাকোবার

4

আপনি যদি পিএইচপি ব্যবহার করে থাকেন তবে তার আগে বা তার আগে বা যে কোনও বিভাগ আপনি দ্রুত আউটপুট করতে চান তা ব্যবহার <?php flush(); ?>করার চেষ্টা করুন (শিরোনাম বা সামগ্রী হিসাবে)। এটি পিএইচপি শেষ হওয়ার অপেক্ষা না করে আসল কোড আউটপুট দেবে। এই ফাংশনটি সর্বদা ব্যবহার করবেন না, বা গতি বৃদ্ধিটি লক্ষণীয় হবে না।</head></body>

অধিক তথ্য

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