Я ищу предложение о том, как улучшить мой код, чтобы быстрее загружать сайт. У меня нет прямого доступа к базе данных, выставлены только API. Существует большой набор данных, поступающих от API, и на домашней странице веб-сайта есть 5 каруселей для разных городов.
В основном на моей домашней странице я использую вызов curl для чтения данных из API, а затем отображение на домашней странице. Мой код как показано ниже
$citiesArr = array(1 => 'Tokyo', 2 => 'Los Angeles', 3 => 'London'); // cities array with their primary key
$foreach ($citiesArr as $city) {
// City Title Goes here
// Using curl here by passing city id to API which return large amount of json data.
handle = curl_init();
$baseUrl = "API_BASE_PATH/data?city_id=" . $cityId;
curl_setopt($handle, CURLOPT_URL, $baseUrl . $path);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($handle);
curl_close($handle);
$response = json_decode($response, TRUE);
$results = array_slice($response , 0, 10, true); // There is large data so slicing to get only first 10 posts
// Displaying the data
$foreach ($results as $result) {
// Displaying data here, There is own carousal on homepage, you just swipe to see all posts
}
}
Изображения и все уже оптимизировано, загрузка сайта занимает минимум 20 секунд. На домашней странице есть и другие вещи, но если я удаляю свой код, сайт загружается в течение 2 секунд, но мой этот код делает загрузку сайта слишком медленной.
Проблема: когда вы нажимаете URL в браузере, он требуется не менее 7 секунд, чтобы попасть на сайт, а затем загружает сайт еще через 15-20 секунд, что означает, что это более 25 секунд. если я удаляю свой код, веб-сайт работает быстрее, я думал, что проблема с DNS, доменом и т. д. c, но это не проблема, проблема с моим кодом.
Можно ли загрузить html сначала, а затем нажмите на кнопку, чтобы загрузить веб-сайт, но веб-сайт не выглядит плохо или любым другим способом.
Обратите внимание: я не могу использовать ajax, потому что API не предоставляет ограниченную публикацию , он просто предоставляет большие данные, но я только хочу отображать несколько, если не использовать слайс для массива, это займет вечность, чтобы загрузить сайт, поэтому я пытаюсь загрузить свой сайт быстрее.
Примерный вид выглядит следующим образом
![enter image description here](https://i.stack.imgur.com/5gpl7.png)