10/10/2018, 11:10

[PHP]Hướng dẫn tăng tốc độ website

Một số cách để tăng tốc độ load website ( 1 cách đáng kể ) đã được áp dụng tại http://etin.vn

Ngày trước, khi làm site http://etin.vn này, thực tình mình cũng không để ý lắm tới tốc độ load của website, vì lúc ấy với số lượng bài viết khá ít nên mình hoàn toàn không quan tâm. Nhưng sau 1 thời gian sử dụng, thấy số lượng link được cache tại google càng ngày càng giảm. từ gần 20K xuống còn vài trăm link. Mình bắt đầu hốt hoảng

Và tất cả nguyên nhân đều là do website quá chậm.
Website quá chậm có thể bao gồm 1 số nguyên nhân sau
1: Hình ảnh nhiều và lớn
2: bài viết nhiều > nếu chưa tối ưu được query > thì rất nặng > nhiều lúc còn khiến cho thiếu bộ nhớ
3: Mã CSS và javascript chưa đc tối ưu
Và sau đây là 1 số cách để khắc phục các nguyên nhân trên ( Theo ý kiến chủ quan của mình ) và đã áp dụng khá thành công tại http://etin.vn

1: Hình ảnh nhiều và lớn
Với vấn đề này.
Bạn có thể áp dụng
Nếu hình ảnh do chính tay bạn post lên host thì nên post lên 1 host khác hoặc 1 domain phụ khác ( ví dụ như img.domain của bạn ) như thế sẽ cân bằng tải cho website
Sau đó ta áp dụng đoạn mã để giúp cho hình ảnh được load sau nội dung
Bạn có thể vào lại site http://etin.vn để được biết sự thay đổi đó( Bạn kéo thanh trượt đi ... hình ảnh sẽ load theo sau )
Đoạn mã
PHP Code:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

<script src="http://news.etin.vn/templates/etin/js/jquery.lazyload.js" type="text/javascript"></script>
     <script type="text/javascript">
        $(document).ready(function() {
            $(function(){$("img").lazyload({ threshold : 200 });})
        });
     </script> 
Bạn có thể tham khảo thêm cách sử dụng lazyload tại Thiet Ke Web Gia Lai
2: Tối ưu hóa query

Với 1 website tin tức hoặc giải trí, hoặc bất cứ 1 website nào có số lượng bài viết lớn mà chưa được tối ưu hóa query thì đều có thể gây ảnh hưởng khá lớn đến tốc độ website
Với tớ ( Tớ đã áp dụng những cách sau để giảm bớt được số lượng query cho website
a.) Nên cache lại nội dung những vùng mà ở đó nội dung rất khó bị thay đổi như menu, hoặc quảng cáo
Bằng cách, bạn có thể thay vì code những đoạn mã để lấy nó ra thì bạn hãy viết nó = html,
b.) Đối với nội dung chính.
Không nên sử dụng quá nhiều câu truy vấn cho 1 nhiệm vụ, mà hãy ghép nó thành 1
Không nên select * mà hãy chọn những thành phần mà mình cần lấy để select
Đối với code bạn tự viết, thì data của bạn hãy nên đặt khóa chính - khóa phụ. Cố gắng sử dụng index
Và chú ý 1 điều ( có thể 1 số bạn quyên câu lệnh sau mysql_free_result($result); Đừng quên nhé bạn. Vì mỗi lần bạn sử dụng xong 1 câu truy vấn thì hãy dùng câu lệnh đó để xóa đi bộ nhớ đã sử dụng cho nó.
........
a,b,c) và cuối cùng, bạn nên sử dụng thư viện cache cho website của mình.
Điều này giúp cho website bạn hoặc 1 link nào đó, nếu đã được xem thì lần sau sẽ nó sẽ đọc trực tiếp từ file đã cache ( và có nghĩa là nó sẽ không đọc data lần nữa )

Đoạn mã sau sẽ giúp bạn làm được điều đó:
Chèn đoạn này ở đầu file index.php
PHP Code:
<?php

include('thuvien/cache.php');

$cache = new cache();
 if ( 
$cache->caching )
 {
và chèn đoạn này ở cuối file index.php
PHP Code:
}
 
$cache->close(); 
Nội dung file cache.php >> Download <<

Một điều chú ý khi sử dụng thư viện cache. Bạn phải kiểm tra thư mục cache thường xuyên, tránh bị thiếu dung lượng. Hoặc áp dụng file del.php mà mình đã share cách đây không lâu

Chúc các bạn thành công,
Chém nhẹ tay, vì đây chỉ là 1 số thủ thuật nhỏ mà mình đã xài. Chia sẽ cùng mọi người thôi
timnha viết 13:16 ngày 10/10/2018
Trang chết rồi bạn ơi, kích vào chả có gì cả.
PiLuan viết 13:11 ngày 10/10/2018
Bạn kiểm tra lại hộ mình nhé, các site đều rất tốt bạn à
đây nè : http://etin.vn và http://batDongSanTayNguyen.com >> Nhà đất - Bất Động Sản Tây Nguyên nè
thinhduc viết 13:16 ngày 10/10/2018
Ngoài chất lượng host, cấu trúc web site thì tốc độ web còn phụ thuộc vào yếu tố gì nữa hả bác?
gyarcier viết 13:14 ngày 10/10/2018
Trang etin của bác chủ topic nhìn đẹp quá

@ thinhduc : đường truyền, cấu hình máy, trình duyệt...
Bài liên quan
0