راهنمایی همکاران حرفه ای برای افزایش سرعت mysql با تعداد رکوردهای بالا

www.iranwebshop.com

Active Member
با سلام

ما یک سایت داریم که با php و دیتا بیس mysql نوشته شده با حجم دیتا بیس 290 مگابایت بسیار کند است و ما تمامی کارهایی که میشد رو بر روی این سایت از نظر بهینه سازی و کش انجام دادیم و تمامی صفحات سایت به سیستم کش مجهز شده

ما حتی حجم یکی از جدولهای این دیتا بیس که 300 مگ بود رو 3 تیکه کرده و خیلی کم کردیم

در حال حاظر درخواستی که در این سایت ارسال میشود در برخی اوقات بیش از 20 ثانیه با تاخیر جواب میدهد

در صورتی که رم و سی پی یو مصرف نمیکند

حتی در سایت www.host-tracker.com هم این سایت بررسی شد خیلی سرعت کم هست و با تاخیر 10 تا 60 ثانیه جواب می دهد و با دانلود 2 تا 10 کیلو بایت در ثانیه


-------------------------------------
مشخصات
سرور هم eq8 hetzer هست

8 هسته ای
24 گیگ رم
-----------------------------------

یک سوال تعداد رکوردهای دیتابیس id آگهی ها 230000 تا هست که باید نمایش داده بشه الان این شماره 8 رقمی هست یعنی مثلا شناسه یکی آگهی 10834324 هست اگر اونها رو 6 رقمی کنیم به نظر شما تاثیری داره مثلا 834324

مثلا فلان آگهی که درخواست کوئری ارسال میشه از 10 میلیون به زیر میلیون برسه چه قدر میتونه تاثیر گذار باشه

لطفا همکارانی که تجربه با دیتا بیسهای سنگین رو دارند پیشنهادات و تجربیات خودشون رو برای بهبود سرعت سایت و ارائه بدن

فقط یک سایت روی سرور قرار داره
 

mehdijamal

New Member
با سلام

ما یک سایت داریم که با php و دیتا بیس mysql نوشته شده با حجم دیتا بیس 290 مگابایت بسیار کند است و ما تمامی کارهایی که میشد رو بر روی این سایت از نظر بهینه سازی و کش انجام دادیم و تمامی صفحات سایت به سیستم کش مجهز شده

ما حتی حجم یکی از جدولهای این دیتا بیس که 300 مگ بود رو 3 تیکه کرده و خیلی کم کردیم

در حال حاظر درخواستی که در این سایت ارسال میشود در برخی اوقات بیش از 20 ثانیه با تاخیر جواب میدهد

در صورتی که رم و سی پی یو مصرف نمیکند

حتی در سایت www.host-tracker.com هم این سایت بررسی شد خیلی سرعت کم هست و با تاخیر 10 تا 60 ثانیه جواب می دهد و با دانلود 2 تا 10 کیلو بایت در ثانیه


-------------------------------------
مشخصات
سرور هم eq8 hetzer هست

8 هسته ای
24 گیگ رم
-----------------------------------

یک سوال تعداد رکوردهای دیتابیس id آگهی ها 230000 تا هست که باید نمایش داده بشه الان این شماره 8 رقمی هست یعنی مثلا شناسه یکی آگهی 10834324 هست اگر اونها رو 6 رقمی کنیم به نظر شما تاثیری داره مثلا 834324

مثلا فلان آگهی که درخواست کوئری ارسال میشه از 10 میلیون به زیر میلیون برسه چه قدر میتونه تاثیر گذار باشه

لطفا همکارانی که تجربه با دیتا بیسهای سنگین رو دارند پیشنهادات و تجربیات خودشون رو برای بهبود سرعت سایت و ارائه بدن

فقط یک سایت روی سرور قرار داره
سلام دوست عزیز ما سیستم هتلداری تماما تحت وب نوشتیم
و شما اگر در index گذاری tabale ها دقت کنید خیلی سرعت شما میرود بالا و تا آن جایی که میتوانید query های خود را از طریق php به mysql نفرستی و فقط در php یک procedure را صدا بزنید سرعت شما بیشتر میشود و پیشنهاد میکنم شما برید partionning mysql رو مطالعه کنید و سرعت شما خیلی بیشتر میشود

در page html خود تا آنجایی که میتوانید از تگ table استفاده نکنید که در سرعت شما کم میشود اینها حاصل از یک سال تحقیق است
موفق باشید
 

Masoud1365

مدیر انجمن
index گذاری در سرعت بسیار موثر است !
یک سوال تعداد رکوردهای دیتابیس id آگهی ها 230000 تا هست که باید نمایش داده بشه الان این شماره 8 رقمی هست یعنی مثلا شناسه یکی آگهی 10834324 هست اگر اونها رو 6 رقمی کنیم به نظر شما تاثیری داره مثلا 834324
تعداد رکوردها مهم هست و ربطی به id اون نداره !
سیستمی بنویسید که اطلاعات اضافی رو حذف کنه ( مثلا آگهی هایی که دیگه نمایش داده نمیشوند )
با مشخصاتی که سرورتون داره نباید سرعت اینقدر کم باشه ! اگر دسترسی به فایل log یه نگاهی بندازید ببینید چطوریه !
من فکر میکنم یه جای برنامه شما یه ارور منطقی باشه :-?
 

ziXet

مدیر انجمن PHP/MYSQL
با سلام

ما یک سایت داریم که با php و دیتا بیس mysql نوشته شده با حجم دیتا بیس 290 مگابایت بسیار کند است و ما تمامی کارهایی که میشد رو بر روی این سایت از نظر بهینه سازی و کش انجام دادیم و تمامی صفحات سایت به سیستم کش مجهز شده

ما حتی حجم یکی از جدولهای این دیتا بیس که 300 مگ بود رو 3 تیکه کرده و خیلی کم کردیم

در حال حاظر درخواستی که در این سایت ارسال میشود در برخی اوقات بیش از 20 ثانیه با تاخیر جواب میدهد

در صورتی که رم و سی پی یو مصرف نمیکند

حتی در سایت www.host-tracker.com هم این سایت بررسی شد خیلی سرعت کم هست و با تاخیر 10 تا 60 ثانیه جواب می دهد و با دانلود 2 تا 10 کیلو بایت در ثانیه


-------------------------------------
مشخصات
سرور هم eq8 hetzer هست

8 هسته ای
24 گیگ رم
-----------------------------------

یک سوال تعداد رکوردهای دیتابیس id آگهی ها 230000 تا هست که باید نمایش داده بشه الان این شماره 8 رقمی هست یعنی مثلا شناسه یکی آگهی 10834324 هست اگر اونها رو 6 رقمی کنیم به نظر شما تاثیری داره مثلا 834324

مثلا فلان آگهی که درخواست کوئری ارسال میشه از 10 میلیون به زیر میلیون برسه چه قدر میتونه تاثیر گذار باشه

لطفا همکارانی که تجربه با دیتا بیسهای سنگین رو دارند پیشنهادات و تجربیات خودشون رو برای بهبود سرعت سایت و ارائه بدن

فقط یک سایت روی سرور قرار داره
به احتمال زیاد یجایی مشکل دارید!
با این حجم نباید سرعت اینجوری بشه
کوئری های ساده بگیرید و زمان رو اندازه گیری کنید
در بعضی از موارد joinهای زیاد در کوئری باعث کندی میشه
کوئریهای جستجو رو هم یه نگاه بندازید
 

www.iranwebshop.com

Active Member
تشکر ویژه از همکاران گرامی

قبلا با تشکر از همکاران برای راهنمایی و نظراتشون خیلی لطفا کردین

اگر کسی از دوستان و همکاران حرفه ای میتونه این مشکل رو حل کنه لطفا تلفن خودشون رو برای من ارسال کنند تا با هم صحبت کنیم

البته هزینه این کار هم پرداخت میشه
 

www.iranwebshop.com

Active Member
راستی بازدید کننده همزمانتون حدودا چند نفره؟!

در جواب شما دوست عزیر باید بگم که قبلا بازدید بسیار بالایی داشت این سایت اما الان به خاطر کتند شدن بازدید کمی داره بین 20 تا 50 نفر انلاین و روزی بین 2 تا 5 هزار نفر در روز
 

www.iranwebshop.com

Active Member
بسم الله الرحمن الرحیم
سلام
به این لینک مراجعه کنید:
http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html

با این امکان می تونید کوئری هایی که کند هست رو پیدا و بهینه کنید

با تشکر از شما دوست عزیز من قبلا این تنظیمات رو انجام دادم

فعلا به دنبال یک برنامه نویس حرفه ای هستم که بتونه این مشکل رو حل کنه و تجربه بهینه سازی و کار با دیتا بیسهای سنگین رو داشته باشه البته با هزینه
 

salione

New Member
شرایط

سلام
من چند بار با این موضوع روبرو شدم
چند تا راهکار اصلی داره:
1-نعریف درست index چون اگه اشتباه باشه سرعت کمه و اگه زیاد باشه سرعت رو به طور معکوس پایین میاره.اما اگه درست تعریف کنید سرعت رو تا 3-4 برابر هم بالا میبره
2-joinآقا این join پدر سرعت رو درمیاره,اما نمیشه که استفاده نکرد پس باید ERاولیه جداولتون درست باشه(بسیاااااار مهم)
3-کانفیگ سرور-داشتن یه سرور کانفیگ شده برای یه همچین دیتابیسی
من از یه دیتابیس 300 gigiتو 5ثانیه کوئری میگیرم.البته با رعایت تمام قواعد بالا ویه نکته دیگه اینکه نرم افزاری,شاید تحت وبش بشه 10 ثانیه ,فقط کافی است کوئری رو به سمت سرور بفرستیم,اونجا دیگه به سرور DBMAبستگی داره که چیکار کنه
راستی پای odbc که بیاد وسط سرعت میاد پایین,من اینو اجبارا بارها امتحان کردم.تو مورد سرعت به نظر شخصی من mysql بهتر از sql server عمل میکنه,علتشم تفاوت انجام پردازش ها در لایه های متفاوت است,اینو 1بار تست هم کردم,تو 300000 تا رکورد با شرایط یکسان 30 ثانیه تفاوت داشتند,کمه 30 ثانیه؟:-?اینو برا این گفتم که فک نکنید با dbms دیگه شاید بهتر جواب بگیرید چون من امتحان کردم
 
آخرین ویرایش:

iraitc

New Member
سلام.
در رابطه با برنامه نویسی اگر خواستی میتونم راهنماییت کنم . یکی از سایت هایی که خیلی خوب روش کارکردم الان روزی سه میلیون رکورد ورود اطلاعات داره چون یکی از بزرگترین سیستم هایی تبلیغات کلیکی هست .
احتمال زیاد مشکل برنامه نویسی داری . مثلا من بارها دیدم برنامه نوسیس ها به اشتباه از حلقه هایی استفاده میکنند که انتها نداره یا تو توی یک حلقه کوئری میزنن به دیتابیس . اگر هم حجم پردازش هات بالا هست باید سیستم را به سمت ساخت کرون جابز های عملیاتی پیش ببری . اینجوری بار عملیات روی رکوئست های کلاینت کم میشه .
ولی احتمال زیاد مشکلت رو برنامه نویسی هست .و نگران نباش قابل حل هست .

شماره تماس : 09369821408
 

جدیدترین ارسال ها

بالا